/*! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-left-32{left:-8rem}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-6{right:1.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-6{top:1.5rem}.top-8{top:2rem}.z-50{z-index:50}.col-span-1{grid-column:span 1/span 1}.col-span-10{grid-column:span 10/span 10}.col-span-12{grid-column:span 12/span 12}.col-span-2{grid-column:span 2/span 2}.col-span-5{grid-column:span 5/span 5}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-24{margin-bottom:6rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-2{height:.5rem}.h-20{height:5rem}.h-3{height:.75rem}.w-1{width:.25rem}.w-1\.5{width:.375rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-\[1100px\]{max-width:1100px}.max-w-\[1400px\]{max-width:1400px}.max-w-\[240px\]{max-width:240px}.max-w-\[60px\]{max-width:60px}.max-w-\[80px\]{max-width:80px}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-12{-moz-column-gap:3rem;column-gap:3rem}.gap-y-16{row-gap:4rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.scroll-smooth{scroll-behavior:smooth}.rounded-full{border-radius:9999px}.border{border-width:1px}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-12{padding-left:3rem;padding-right:3rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-32{padding-top:8rem;padding-bottom:8rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-10{padding-bottom:2.5rem}.pb-12{padding-bottom:3rem}.pb-32{padding-bottom:8rem}.pl-8{padding-left:2rem}.pr-10{padding-right:2.5rem}.pr-8{padding-right:2rem}.pt-16{padding-top:4rem}.pt-20{padding-top:5rem}.pt-24{padding-top:6rem}.pt-4{padding-top:1rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[clamp\(2\.5rem\2c 6vw\2c 5rem\)\]{font-size:clamp(2.5rem,6vw,5rem)}.text-\[clamp\(3rem\2c 8vw\2c 7rem\)\]{font-size:clamp(3rem,8vw,7rem)}.text-\[clamp\(3rem\2c 9vw\2c 9rem\)\]{font-size:clamp(3rem,9vw,9rem)}.text-\[clamp\(4rem\2c 16vw\2c 12rem\)\]{font-size:clamp(4rem,16vw,12rem)}.text-\[clamp\(5rem\2c 18vw\2c 16rem\)\]{font-size:clamp(5rem,18vw,16rem)}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-\[0\.85\]{line-height:.85}.leading-\[0\.95\]{line-height:.95}.leading-\[0\.9\]{line-height:.9}.leading-\[1\.0\]{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.04em\]{letter-spacing:.04em}.tracking-\[0\.06em\]{letter-spacing:.06em}.tracking-\[0\.25em\]{letter-spacing:.25em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-\[0\.3em\]{letter-spacing:.3em}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-20{opacity:.2}.opacity-\[0\.06\]{opacity:.06}.opacity-\[0\.07\]{opacity:.07}.opacity-\[0\.08\]{opacity:.08}.grayscale{--tw-grayscale:grayscale(100%)}.filter,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (min-width:640px){.sm\:inline{display:inline}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}}@media (min-width:768px){.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-7{grid-column:span 7/span 7}.md\:col-start-7{grid-column-start:7}.md\:mt-0{margin-top:0}.md\:inline{display:inline}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:flex-col{flex-direction:column}.md\:items-end{align-items:flex-end}.md\:gap-12{gap:3rem}.md\:gap-16{gap:4rem}.md\:gap-20{gap:5rem}.md\:gap-8{gap:2rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:text-left{text-align:left}.md\:text-right{text-align:right}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:mb-20{margin-bottom:5rem}.lg\:inline-flex{display:inline-flex}.lg\:px-14{padding-left:3.5rem;padding-right:3.5rem}.lg\:py-48{padding-top:12rem}.lg\:pb-48,.lg\:py-48{padding-bottom:12rem}.lg\:pt-24{padding-top:6rem}}


        :root {
            --bg: #F2EEE5;
            --bg-warm: #EDE7D9;
            --bg-deep: #1C1814;
            --bg-deep-soft: #2A241D;
            --ink: #1C1814;
            --ink-soft: #4A4238;
            --ink-mute: #8A7F6E;
            --line: #D9D1BE;
            --line-soft: #E5DECC;
            --gold: #A8821A;
            --gold-soft: #C9A23A;
            --gold-pale: #E8C975;
            --gold-bright: #D4A537;
            --cream: #F8F4EA;
        }

        * {
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        html, body { overflow-x: hidden; }

        body {
            font-family: 'Inter', sans-serif;
            background-color: var(--bg);
            color: var(--ink);
            font-weight: 300;
            position: relative;
            /* Layered atmospheric gradient — warm cream with subtle golden bloom */
            background-image:
                radial-gradient(ellipse 70% 50% at 50% 0%, rgba(212, 165, 55, 0.08), transparent 60%),
                radial-gradient(ellipse 60% 80% at 0% 30%, rgba(168, 130, 26, 0.05), transparent 55%),
                radial-gradient(ellipse 60% 80% at 100% 70%, rgba(168, 130, 26, 0.05), transparent 55%),
                linear-gradient(180deg, #F5F1E8 0%, #F2EEE5 40%, #EFE9DC 100%);
            background-attachment: fixed;
        }

        /* Animated soft gold bloom — barely perceptible, adds life */
        body::after {
            content: '';
            position: fixed;
            inset: -20%;
            pointer-events: none;
            z-index: 0;
            background:
                radial-gradient(ellipse 40% 30% at 20% 20%, rgba(212, 165, 55, 0.10), transparent 70%),
                radial-gradient(ellipse 35% 25% at 80% 80%, rgba(201, 162, 58, 0.09), transparent 70%);
            animation: atmosphere 24s ease-in-out infinite alternate;
            filter: blur(40px);
        }

        @keyframes atmosphere {
            0%   { transform: translate(0, 0) rotate(0deg); opacity: 0.85; }
            50%  { transform: translate(3%, -2%) rotate(8deg); opacity: 1; }
            100% { transform: translate(-2%, 3%) rotate(-6deg); opacity: 0.9; }
        }

        /* Paper grain */
        body::before {
            content: '';
            position: fixed;
            inset: 0;
            pointer-events: none;
            z-index: 1;
            opacity: 0.28;
            background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.11 0 0 0 0 0.09 0 0 0 0 0.08 0 0 0 0.08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
        }

        body > * { position: relative; z-index: 2; }

        /* Soft section vignette — top and bottom subtle fade to add depth between sections */
        .section-fade-top::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 120px;
            background: linear-gradient(180deg, rgba(28, 24, 20, 0.04), transparent);
            pointer-events: none;
            z-index: 0;
        }
        .section-fade-bottom::after {
            content: '';
            position: absolute;
            bottom: 0; left: 0; right: 0;
            height: 120px;
            background: linear-gradient(0deg, rgba(28, 24, 20, 0.04), transparent);
            pointer-events: none;
            z-index: 0;
        }

        .font-serif, h1, h2, h3 {
            font-family: 'Cormorant Garamond', serif;
            font-weight: 400;
            letter-spacing: -0.01em;
        }

        .display {
            font-family: 'Cormorant Garamond', serif;
            font-weight: 300;
            letter-spacing: -0.02em;
        }

        /* ============== ART DÉCO TYPOGRAPHY ============== */
        .deco-title {
            font-family: 'Cormorant Garamond', serif;
            font-weight: 500;
            letter-spacing: 0.4em;
            text-transform: uppercase;
        }

        .eyebrow {
            font-family: 'Inter', sans-serif;
            font-size: 10px;
            font-weight: 500;
            letter-spacing: 0.32em;
            text-transform: uppercase;
            color: var(--ink-soft);
        }

        .marker {
            font-family: 'Cormorant Garamond', serif;
            font-style: italic;
            font-weight: 400;
            color: var(--gold);
            font-size: 14px;
            letter-spacing: 0.05em;
        }

        ::selection {
            background-color: var(--gold-pale);
            color: var(--ink);
        }

        a, button {
            transition: all .35s cubic-bezier(.22,.61,.36,1);
        }

        /* ============== ART DÉCO ORNAMENTS ============== */
        
        /* Double hairline — clásico Art Déco */
        .deco-rule {
            height: 5px;
            position: relative;
            background: transparent;
        }
        .deco-rule::before, .deco-rule::after {
            content: '';
            position: absolute;
            left: 0; right: 0;
            height: 1px;
            background: var(--gold);
        }
        .deco-rule::before { top: 0; }
        .deco-rule::after { bottom: 0; }

        /* Center diamond ornament */
        .deco-divider {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 16px;
            color: var(--gold);
        }
        .deco-divider::before, .deco-divider::after {
            content: '';
            flex: 1;
            height: 1px;
            background: linear-gradient(90deg, transparent, var(--gold) 50%, transparent);
            max-width: 120px;
        }
        .deco-diamond {
            width: 8px;
            height: 8px;
            background: var(--gold);
            transform: rotate(45deg);
            display: inline-block;
        }
        .deco-diamond-sm {
            width: 5px;
            height: 5px;
            background: var(--gold);
            transform: rotate(45deg);
            display: inline-block;
        }

        /* Magnetic underline link */
        .link-underline {
            position: relative;
            display: inline-block;
            padding-bottom: 4px;
        }
        .link-underline::after {
            content: '';
            position: absolute;
            left: 0; right: 0; bottom: 0;
            height: 1px;
            background: currentColor;
            transform-origin: right;
            transition: transform .5s cubic-bezier(.22,.61,.36,1);
        }
        .link-underline:hover::after {
            transform-origin: left;
            transform: scaleX(1);
        }

        /* Pill button con borde Art Déco */
        .btn-primary {
            background: var(--ink);
            color: var(--cream);
            position: relative;
            overflow: hidden;
            border: 1px solid var(--ink);
        }
        .btn-primary::before {
            content: '';
            position: absolute;
            inset: 0;
            background: var(--gold);
            transform: translateY(101%);
            transition: transform .5s cubic-bezier(.22,.61,.36,1);
        }
        .btn-primary > span { position: relative; z-index: 1; }
        .btn-primary:hover::before { transform: translateY(0); }
        .btn-primary:hover { color: var(--ink); }

        /* Botón con doble línea Art Déco */
        .btn-deco {
            position: relative;
            padding: 18px 48px;
            color: var(--ink);
            background: transparent;
            border: 1px solid var(--gold);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 11px;
            letter-spacing: 0.25em;
            text-transform: uppercase;
            font-weight: 500;
        }
        .btn-deco::before {
            content: '';
            position: absolute;
            inset: 4px;
            border: 1px solid var(--gold);
            opacity: 0.4;
            transition: opacity .4s ease, inset .4s ease;
        }
        .btn-deco:hover::before {
            opacity: 1;
            inset: 6px;
        }

        /* Ticker / marquee */
        @keyframes scroll-x {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }
        .ticker-track {
            animation: scroll-x 80s linear infinite;
            display: flex;
            width: max-content;
        }

        /* Reveal on load */
        @keyframes rise {
            from { opacity: 0; transform: translateY(24px); }
            to { opacity: 1; transform: translateY(0); }
        }
        .rise { animation: rise 1s cubic-bezier(.22,.61,.36,1) both; }
        .rise-2 { animation: rise 1s cubic-bezier(.22,.61,.36,1) both; animation-delay: .15s; }
        .rise-3 { animation: rise 1s cubic-bezier(.22,.61,.36,1) both; animation-delay: .3s; }
        .rise-4 { animation: rise 1s cubic-bezier(.22,.61,.36,1) both; animation-delay: .45s; }

        /* Case row */
        .case-row {
            transition: background-color .4s ease;
        }
        .case-row:hover {
            background: var(--bg-warm);
        }
        .case-row:hover .case-arrow {
            transform: translateX(8px);
        }
        .case-row:hover .case-title {
            color: var(--gold);
        }
        .case-arrow {
            transition: transform .4s cubic-bezier(.22,.61,.36,1);
            display: inline-block;
        }

        .hairline {
            background: var(--line);
            height: 1px;
        }

        section { scroll-margin-top: 80px; }

        ::-webkit-scrollbar { width: 8px; height: 8px; }
        ::-webkit-scrollbar-track { background: var(--bg); }
        ::-webkit-scrollbar-thumb { background: var(--line); border-radius: 4px; }
        ::-webkit-scrollbar-thumb:hover { background: var(--ink-mute); }

        /* ============== ART DÉCO SUNBURST / FAN ============== */
        .deco-sunburst {
            display: block;
            color: var(--gold);
        }

        /* ============== ART DÉCO FRAME ============== */
        .deco-frame {
            position: relative;
            padding: 48px;
        }
        .deco-corner {
            position: absolute;
            width: 32px;
            height: 32px;
            border-color: var(--gold);
            border-style: solid;
            border-width: 0;
        }
        .deco-corner.tl { top: 0; left: 0; border-top-width: 1px; border-left-width: 1px; }
        .deco-corner.tr { top: 0; right: 0; border-top-width: 1px; border-right-width: 1px; }
        .deco-corner.bl { bottom: 0; left: 0; border-bottom-width: 1px; border-left-width: 1px; }
        .deco-corner.br { bottom: 0; right: 0; border-bottom-width: 1px; border-right-width: 1px; }

        /* Slow pulse */
        @keyframes slow-pulse {
            0%, 100% { opacity: 0.6; }
            50% { opacity: 1; }
        }
        .slow-pulse { animation: slow-pulse 4s ease-in-out infinite; }

        /* ============== SCROLL-REVEAL SYSTEM ============== */
        .reveal {
            opacity: 0;
            transform: translateY(32px);
            transition: opacity 1.1s cubic-bezier(.22,.61,.36,1), transform 1.1s cubic-bezier(.22,.61,.36,1);
            will-change: opacity, transform;
        }
        .reveal.is-visible {
            opacity: 1;
            transform: translateY(0);
        }
        .reveal-delay-1 { transition-delay: 0.08s; }
        .reveal-delay-2 { transition-delay: 0.16s; }
        .reveal-delay-3 { transition-delay: 0.24s; }
        .reveal-delay-4 { transition-delay: 0.32s; }

        /* Subtle fade-in only (no translation) for decorative elements */
        .reveal-fade {
            opacity: 0;
            transition: opacity 1.4s cubic-bezier(.22,.61,.36,1);
        }
        .reveal-fade.is-visible { opacity: 1; }

        /* ============== ENHANCED HERO MEDALLION ============== */
        @keyframes deco-rotate-slow {
            from { transform: rotate(0deg); }
            to   { transform: rotate(360deg); }
        }
        @keyframes deco-rotate-slow-rev {
            from { transform: rotate(0deg); }
            to   { transform: rotate(-360deg); }
        }
        .deco-rotate-slow      { animation: deco-rotate-slow 180s linear infinite; transform-origin: center; }
        .deco-rotate-slow-rev  { animation: deco-rotate-slow-rev 240s linear infinite; transform-origin: center; }

        .hero-medallion {
            position: absolute;
            top: 0;
            left: 50%;
            transform: translateX(-50%);
            width: min(1100px, 130vw);
            aspect-ratio: 2 / 1;
            pointer-events: none;
            z-index: 0;
        }

        /* Gold glow behind hero headline */
        .hero-glow {
            position: absolute;
            left: 50%;
            top: 40%;
            transform: translate(-50%, -50%);
            width: 900px;
            height: 500px;
            background: radial-gradient(ellipse, rgba(212, 165, 55, 0.18), rgba(212, 165, 55, 0.04) 45%, transparent 70%);
            filter: blur(30px);
            pointer-events: none;
            z-index: 0;
            animation: glow-breathe 8s ease-in-out infinite alternate;
        }
        @keyframes glow-breathe {
            from { opacity: 0.7; transform: translate(-50%, -50%) scale(1); }
            to   { opacity: 1;   transform: translate(-50%, -50%) scale(1.05); }
        }

        /* ============== REFINED HOVER EFFECTS ============== */

        /* Case rows — gold rising indicator on the left */
        .case-row {
            transition: background-color .5s ease, padding-left .5s cubic-bezier(.22,.61,.36,1);
            position: relative;
        }
        .case-row::before {
            content: '';
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%) scaleY(0);
            width: 2px;
            height: 60%;
            background: linear-gradient(180deg, transparent, var(--gold), transparent);
            transition: transform .5s cubic-bezier(.22,.61,.36,1);
            transform-origin: center;
        }
        .case-row:hover {
            background: linear-gradient(90deg, var(--bg-warm), transparent 95%);
            padding-left: 1.5rem !important;
        }
        .case-row:hover::before {
            transform: translateY(-50%) scaleY(1);
        }
        .case-row:hover .case-arrow {
            transform: translateX(12px);
            color: var(--gold) !important;
        }
        .case-row:hover .case-title {
            color: var(--gold);
        }
        .case-arrow {
            transition: transform .5s cubic-bezier(.22,.61,.36,1), color .3s ease;
            display: inline-block;
        }

        /* Method rows — highlight on hover with left gold bar */
        .method-row {
            position: relative;
            transition: background .5s ease;
        }
        .method-row::before {
            content: '';
            position: absolute;
            left: -16px;
            top: 20%;
            bottom: 20%;
            width: 2px;
            background: var(--gold);
            transform: scaleY(0);
            transform-origin: center;
            transition: transform .5s cubic-bezier(.22,.61,.36,1);
        }
        .method-row:hover::before { transform: scaleY(1); }
        .method-row:hover .method-numeral {
            color: var(--gold-bright);
            transform: translateY(-2px);
        }
        .method-numeral {
            transition: transform .5s cubic-bezier(.22,.61,.36,1), color .4s ease;
            display: inline-block;
        }

        /* Service cards — lift with deeper shadow and gold glow */
        .service-card {
            transition: transform .6s cubic-bezier(.22,.61,.36,1), box-shadow .6s ease;
            position: relative;
        }
        .service-card:hover {
            transform: translateY(-6px);
            box-shadow:
                0 30px 60px -20px rgba(28, 24, 20, 0.25),
                0 0 40px -10px rgba(212, 165, 55, 0.20);
        }
        .service-card:hover .deco-corner { inset: -4px; opacity: 1; }
        .service-card .deco-corner { transition: inset .6s cubic-bezier(.22,.61,.36,1), opacity .4s ease; }

        /* Principle cards — subtle lift */
        .principle-card {
            transition: transform .6s cubic-bezier(.22,.61,.36,1);
        }
        .principle-card:hover {
            transform: translateY(-4px);
        }
        .principle-card:hover .principle-numeral {
            color: var(--gold-bright);
        }
        .principle-numeral {
            transition: color .4s ease;
        }

        /* Pillar cards (Estudio section) */
        .pillar-card {
            transition: transform .5s cubic-bezier(.22,.61,.36,1);
        }
        .pillar-card:hover {
            transform: translateY(-4px);
        }
        .pillar-card:hover .pillar-numeral {
            color: var(--gold-bright);
        }
        .pillar-numeral { transition: color .4s ease; }

        /* Transformation rows — gold fill sweep on hover */
        .transform-row {
            position: relative;
            transition: padding .5s ease;
        }
        .transform-row::after {
            content: '';
            position: absolute;
            left: 50%;
            top: 0;
            bottom: 0;
            width: 0;
            background: linear-gradient(90deg, transparent, rgba(212, 165, 55, 0.06), transparent);
            transform: translateX(-50%);
            transition: width .7s cubic-bezier(.22,.61,.36,1);
            pointer-events: none;
        }
        .transform-row:hover::after {
            width: 100%;
        }

        /* ============== SECTION TRANSITION GRADIENTS ============== */
        .section-bridge-top {
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 80px;
            pointer-events: none;
            z-index: 1;
        }
        .section-bridge-bottom {
            position: absolute;
            bottom: 0; left: 0; right: 0;
            height: 80px;
            pointer-events: none;
            z-index: 1;
        }

        /* Dark section — rich radial glow backdrop */
        .dark-section-glow {
            position: absolute;
            inset: 0;
            pointer-events: none;
            z-index: 0;
            background:
                radial-gradient(ellipse 60% 50% at 50% 0%, rgba(212, 165, 55, 0.12), transparent 60%),
                radial-gradient(ellipse 50% 40% at 50% 100%, rgba(168, 130, 26, 0.08), transparent 65%);
        }

        /* Parallax-ready decorative layers */
        .parallax-slow { will-change: transform; }

        /* Refined button with gold-sweep animation */
        .btn-primary::after {
            content: '';
            position: absolute;
            top: 0; left: -100%;
            width: 50%; height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
            transition: left .8s cubic-bezier(.22,.61,.36,1);
        }
        .btn-primary:hover::after { left: 150%; }

        /* Respect user motion preferences */
        @media (prefers-reduced-motion: reduce) {
            *, *::before, *::after {
                animation-duration: 0.01ms !important;
                animation-iteration-count: 1 !important;
                transition-duration: 0.01ms !important;
            }
            .reveal { opacity: 1; transform: none; }
        }
        /* Reducir espaciado entre secciones */
        .py-32 { padding-top: 4rem !important; padding-bottom: 4rem !important; }
        @media (min-width: 1024px) {
            .lg\:py-48 { padding-top: 6rem !important; padding-bottom: 6rem !important; }
            .lg\:pb-48 { padding-bottom: 6rem !important; }
            .lg\:pt-24 { padding-top: 4rem !important; }
        }
        .mb-20 { margin-bottom: 2.5rem !important; }
        .mb-24 { margin-bottom: 3rem !important; }

        /* ===== MOVED INLINE KEYFRAMES ===== */
        @keyframes scroll-cue{0%{transform:translateY(-100%)}100%{transform:translateY(400%)}}
        @keyframes brands-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

        /* ===== VIDEO PLACEHOLDER ===== */
        .video-placeholder {
            position: relative;
            width: 100%;
            max-width: 680px;
            margin: 3rem auto 0;
            aspect-ratio: 16/9;
            background: var(--bg-deep);
            border: 1px solid var(--gold);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 20px;
            cursor: pointer;
            overflow: hidden;
            transition: box-shadow 0.3s ease;
        }
        .video-placeholder::before {
            content: '';
            position: absolute;
            inset: 8px;
            border: 1px solid rgba(168,130,26,0.3);
            pointer-events: none;
        }
        .video-placeholder:hover { box-shadow: 0 0 40px -10px rgba(168,130,26,0.35); }
        .video-play-icon {
            width: 72px;
            height: 72px;
            border: 1px solid var(--gold);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: background 0.3s ease;
        }
        .video-placeholder:hover .video-play-icon { background: var(--gold); }
        .video-placeholder:hover .video-play-icon svg { color: var(--ink); }
        .video-play-icon svg { color: var(--gold); transition: color 0.3s ease; }
        .video-placeholder-label {
            font-family: 'Cormorant Garamond', serif;
            font-size: 13px;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: var(--gold-pale);
            font-weight: 300;
        }

        /* ===== MÉTODO EXPANDABLE ===== */
        .method-row { cursor: pointer; transition: background 0.2s ease; }
        .method-row:hover { background: rgba(168,130,26,0.04); }
        .method-toggle-icon {
            font-size: 22px;
            color: var(--gold);
            transition: transform 0.3s ease;
            line-height: 1;
            flex-shrink: 0;
        }
        .method-row.is-open .method-toggle-icon { transform: rotate(45deg); }
        .method-panel {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.35s ease, opacity 0.3s ease;
            opacity: 0;
        }
        .method-panel.is-open {
            max-height: 600px;
            opacity: 1;
        }
        .method-panel-inner {
            padding: 0 0 2.5rem 0;
            display: grid;
            grid-template-columns: 1fr;
            gap: 2rem;
        }
        @media (min-width: 768px) {
            .method-panel-inner { grid-template-columns: 1fr 1fr; gap: 3rem; padding-left: calc(2/12 * 100% + 3rem); }
        }

        /* ===== FOOTER DECO DIVIDER ===== */
        footer .deco-divider::before,footer .deco-divider::after{background:linear-gradient(90deg,transparent,var(--gold-pale) 50%,transparent)!important;}
    

/* ============================================================
   MOODZ THEME ADDITIONS
   ============================================================ */

/* Admin bar fix — paper grain and atmosphere stay aligned */
.admin-bar body::before,
.admin-bar body::after { top: 32px; }

/* Mobile nav overlay */
#mz-mobile-nav {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 100;
    background: rgba(28, 24, 20, 0.97);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2.5rem;
    backdrop-filter: blur(8px);
}
#mz-mobile-nav.is-open { display: flex; }
body.mz-nav-open { overflow: hidden; }
@media (min-width: 768px) {
    #mz-nav-toggle { display: none !important; }
    #mz-mobile-nav { display: none !important; }
}

/* ===== NAV LINKS ===== */
.mz-nav-link {
    position: relative;
    font-size: 11px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--ink-soft);
    text-decoration: none;
    padding: 4px 0;
    transition: color 0.25s ease;
}
.mz-nav-link::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0;
    height: 1px;
    background: var(--gold);
    transition: width 0.3s cubic-bezier(.22,.61,.36,1);
}
.mz-nav-link:hover,
.mz-nav-link.mz-nav-active {
    color: var(--ink);
}
.mz-nav-link:hover::after,
.mz-nav-link.mz-nav-active::after {
    width: 100%;
}

/* WhatsApp floating button */
@keyframes mz-wa-pulse {
    0%, 100% { box-shadow: 0 8px 24px -4px rgba(168,130,26,0.45); }
    50% { box-shadow: 0 8px 32px -4px rgba(168,130,26,0.70), 0 0 0 8px rgba(168,130,26,0.12); }
}
.mz-whatsapp-btn {
    transition: transform 0.3s cubic-bezier(.22,.61,.36,1);
    animation: mz-wa-pulse 3s ease-in-out infinite;
}
.mz-whatsapp-btn:hover { transform: scale(1.1); }
body.mz-nav-open .mz-whatsapp-btn { display: none !important; }
@media (max-height: 500px) and (max-width: 767px) {
    .mz-whatsapp-btn { display: none !important; }
}

/* ============================================================
 * ARTISTAS — Mini-site night mode (paleta noche + oro)
 * Aplica cuando body lleva la clase .is-night (filtro PHP en
 * inc/setup.php — todas las páginas bajo /artistas/*).
 * ============================================================ */

/* Header CSS variables — overridable for night mode */
body                    { --mz-header-bg: rgba(242, 238, 229, 0.85);
                          --mz-logo-color: var(--ink);
                          --mz-logo-mute:  var(--ink-mute);
                          --mz-nav-color:  var(--ink); }
body.is-night           { --mz-header-bg: rgba(28, 24, 20, 0.85);
                          --mz-logo-color: var(--cream);
                          --mz-logo-mute:  var(--gold-pale);
                          --mz-nav-color:  var(--cream); }

/* Nav CTA "ARTISTAS" — outline gold button at the right of the header */
.mz-nav-cta {
    display: inline-flex;          /* propio — no depende de Tailwind */
    align-items: center;
    padding: 10px 22px;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--gold);
    border: 1px solid var(--gold);
    text-decoration: none;
    background: transparent;
    transition: all .35s cubic-bezier(.22,.61,.36,1);
    line-height: 1;
    white-space: nowrap;
}
/* Ocultar en móvil (< 768 px) */
@media (max-width: 767px) { .mz-nav-cta { display: none !important; } }

.mz-nav-cta:hover { background: var(--gold); color: var(--bg-deep); }

/* Modo noche: ya lleno en dorado por defecto */
body.is-night .mz-nav-cta {
    background: var(--gold);
    color: var(--bg-deep);
}
body.is-night .mz-nav-cta:hover {
    background: var(--gold-bright, #E2B84A);
    color: var(--bg-deep);
}

/* Default nav links inherit the variable */
.mz-nav-link { color: var(--mz-nav-color); }

/* Hover / activo en modo noche → oro en vez de tinta oscura */
body.is-night .mz-nav-link:hover,
body.is-night .mz-nav-link.mz-nav-active { color: var(--gold); }
body.is-night .mz-nav-link:hover::after,
body.is-night .mz-nav-link.mz-nav-active::after { background: var(--gold); }

/* ───────── Body — paleta noche ───────── */
body.is-night {
    background-color: var(--bg-deep);
    color: var(--cream);
    background-image:
        radial-gradient(ellipse 70% 50% at 50% 0%,   rgba(212,165,55,0.10), transparent 60%),
        radial-gradient(ellipse 60% 80% at 0%  30%,  rgba(168,130,26,0.06), transparent 55%),
        radial-gradient(ellipse 60% 80% at 100% 70%, rgba(168,130,26,0.06), transparent 55%),
        linear-gradient(180deg, #16120E 0%, #1C1814 40%, #221C16 100%);
}

/* Paper grain — más sutil sobre negro */
body.is-night::before { opacity: 0.12; }

/* Bloom dorado — más pronunciado sobre negro */
body.is-night::after {
    background:
        radial-gradient(ellipse 40% 30% at 20% 20%, rgba(212,165,55,0.16), transparent 70%),
        radial-gradient(ellipse 35% 25% at 80% 80%, rgba(201,162,58,0.14), transparent 70%);
}

/* Selection — oro pálido sobre fondo dorado oscuro */
body.is-night ::selection {
    background-color: var(--gold);
    color: var(--bg-deep);
}

/* Footer en modo noche (si el footer base es claro) */
body.is-night footer { background: var(--bg-deep-soft); color: var(--cream); }
body.is-night footer a { color: var(--gold-pale); }
body.is-night footer a:hover { color: var(--gold-bright); }

/* ───────── Section vignettes en modo noche ───────── */
body.is-night .section-fade-top::before {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.30), transparent);
}
body.is-night .section-fade-bottom::after {
    background: linear-gradient(0deg,   rgba(0, 0, 0, 0.30), transparent);
}

/* ───────── Eyebrows / markers / títulos en modo noche ───────── */
body.is-night .eyebrow { color: var(--gold-pale); }
body.is-night .marker  { color: var(--gold-bright); }
body.is-night h1,
body.is-night h2,
body.is-night h3,
body.is-night .display { color: var(--cream); }

/* Deco rules dorados ya funcionan; subir intensidad */
body.is-night .deco-rule::before,
body.is-night .deco-rule::after { background: var(--gold-bright); }

/* ───────── ARTISTAS — Component styles ───────── */

/* Hero artistas */
.mz-art-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(72px, 12vh, 140px) clamp(24px, 6vw, 96px) clamp(64px, 10vh, 120px);
    text-align: center;
}
.mz-art-hero h1 {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 300;
    font-size: clamp(2.25rem, 5.5vw, 5rem);
    line-height: 1.05;
    letter-spacing: -0.01em;
    color: var(--cream);
    margin: 0 auto clamp(20px, 3vh, 32px);
    max-width: 18ch;
}
.mz-art-hero h1 em {
    font-style: italic;
    color: var(--gold-bright);
    font-weight: 400;
}
.mz-art-hero .mz-art-sub {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(15px, 1.5vw, 18px);
    line-height: 1.7;
    color: var(--line);
    max-width: 56ch;
    margin: 0 auto clamp(28px, 4vh, 40px);
}
.mz-art-hero .mz-art-microcopy {
    font-size: 10px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--ink-mute);
    margin: 22px 0 0;
}

/* Tesis (frase brutal de Step 4 Adames) */
.mz-art-tesis {
    background: var(--bg-deep-soft);
    padding: clamp(80px, 12vh, 140px) clamp(24px, 6vw, 96px);
    position: relative;
    border-top: 1px solid rgba(168, 130, 26, 0.20);
    border-bottom: 1px solid rgba(168, 130, 26, 0.20);
}
.mz-art-tesis-inner {
    max-width: 880px;
    margin: 0 auto;
    text-align: center;
}
.mz-art-tesis blockquote {
    margin: 0;
    font-family: 'Cormorant Garamond', serif;
    font-weight: 300;
    font-style: italic;
    font-size: clamp(1.5rem, 3vw, 2.5rem);
    line-height: 1.3;
    color: var(--cream);
    letter-spacing: -0.005em;
}
.mz-art-tesis blockquote strong {
    font-weight: 400;
    font-style: normal;
    color: var(--gold-bright);
    background: linear-gradient(180deg, transparent 65%, rgba(212, 165, 55, 0.18) 65%);
    padding: 0 4px;
}
.mz-art-tesis-cite {
    margin-top: 32px;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--gold-pale);
}

/* Recorrido del oyente — timeline 6 macrojourneys */
.mz-recorrido {
    padding: clamp(72px, 11vh, 130px) clamp(24px, 6vw, 96px);
    position: relative;
}
.mz-recorrido-head { text-align: center; max-width: 720px; margin: 0 auto clamp(48px, 6vh, 72px); }
.mz-recorrido-head h2 {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 300;
    font-size: clamp(2.25rem, 5vw, 4rem);
    line-height: 1.05;
    color: var(--cream);
    margin: 8px 0 18px;
}
.mz-recorrido-head p {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    color: var(--line);
    font-size: clamp(14px, 1.4vw, 17px);
    line-height: 1.7;
}
.mz-recorrido-track {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 0;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
}
.mz-recorrido-track::before {
    content: '';
    position: absolute;
    top: 28px; left: 8%; right: 8%;
    height: 1px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(168, 130, 26, 0.25) 12%,
        rgba(212, 165, 55, 0.55) 50%,
        rgba(168, 130, 26, 0.25) 88%,
        transparent 100%);
    z-index: 0;
}
.mz-step {
    text-align: center;
    padding: 0 8px;
    position: relative;
    z-index: 1;
}
.mz-step-node {
    width: 14px; height: 14px;
    background: var(--gold);
    transform: rotate(45deg);
    margin: 22px auto 18px;
    transition: all .35s cubic-bezier(.22,.61,.36,1);
    box-shadow: 0 0 0 6px rgba(28, 24, 20, 1), 0 0 0 7px rgba(168, 130, 26, 0.45);
}
.mz-step:hover .mz-step-node {
    background: var(--gold-bright);
    box-shadow: 0 0 0 6px rgba(28, 24, 20, 1), 0 0 0 7px rgba(212, 165, 55, 0.85), 0 0 24px rgba(212, 165, 55, 0.45);
}
.mz-step-letter {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 14px;
    color: var(--gold-bright);
    letter-spacing: 0.08em;
}
.mz-step-name {
    display: block;
    margin-top: 6px;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--cream);
    font-weight: 500;
}
.mz-step-q {
    display: block;
    margin-top: 8px;
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 13px;
    color: var(--gold-pale);
    line-height: 1.4;
    min-height: 36px;
}
.mz-step-detail {
    margin-top: 14px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    line-height: 1.6;
    color: rgba(217, 209, 190, 0.65);
    max-width: 22ch;
    margin-left: auto; margin-right: auto;
    opacity: 0;
    max-height: 0;
    transition: opacity .4s, max-height .4s;
    overflow: hidden;
}
.mz-step:hover .mz-step-detail {
    opacity: 1;
    max-height: 200px;
}

@media (max-width: 900px) {
    .mz-recorrido-track { grid-template-columns: 1fr 1fr; gap: 32px 12px; }
    .mz-recorrido-track::before { display: none; }
    .mz-step-detail { opacity: 1; max-height: none; }
}
@media (max-width: 540px) {
    .mz-recorrido-track { grid-template-columns: 1fr; gap: 24px; }
}

/* Mecanismos núcleo — 4 cards */
.mz-mech {
    padding: clamp(72px, 11vh, 130px) clamp(24px, 6vw, 96px);
    background: linear-gradient(180deg, transparent 0%, rgba(168, 130, 26, 0.04) 50%, transparent 100%);
}
.mz-mech-head { text-align: center; max-width: 720px; margin: 0 auto clamp(48px, 6vh, 72px); }
.mz-mech-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(20px, 2.5vw, 32px);
    max-width: 1100px;
    margin: 0 auto;
}
.mz-mech-card {
    background: rgba(42, 36, 29, 0.55);
    border: 1px solid rgba(168, 130, 26, 0.22);
    padding: clamp(28px, 3.5vw, 44px);
    position: relative;
    transition: border-color .35s ease, background .35s ease;
}
.mz-mech-card:hover {
    border-color: rgba(212, 165, 55, 0.55);
    background: rgba(42, 36, 29, 0.75);
}
.mz-mech-card::before {
    content: '';
    position: absolute;
    top: 18px; left: 18px;
    width: 6px; height: 6px;
    background: var(--gold);
    transform: rotate(45deg);
}
.mz-mech-num {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 12px;
    letter-spacing: 0.14em;
    color: var(--gold-pale);
    margin: 0 0 12px 22px;
}
.mz-mech-card h3 {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 400;
    font-size: clamp(1.4rem, 2.2vw, 1.85rem);
    line-height: 1.2;
    color: var(--cream);
    margin: 0 0 14px;
}
.mz-mech-card p {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.7;
    color: var(--line);
    margin: 0;
}

@media (max-width: 720px) {
    .mz-mech-grid { grid-template-columns: 1fr; }
}

/* Servicios artistas — 4 cards */
.mz-art-services {
    padding: clamp(72px, 11vh, 130px) clamp(24px, 6vw, 96px);
}
.mz-art-services-head { text-align: center; max-width: 720px; margin: 0 auto clamp(48px, 6vh, 72px); }
.mz-art-services-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(20px, 2.5vw, 32px);
    max-width: 1100px;
    margin: 0 auto;
}
.mz-art-service {
    background: rgba(42, 36, 29, 0.45);
    border: 1px solid rgba(217, 209, 190, 0.10);
    padding: clamp(28px, 3.5vw, 44px);
    display: flex;
    flex-direction: column;
    gap: 14px;
    position: relative;
    transition: border-color .35s ease, transform .35s ease;
}
.mz-art-service:hover {
    border-color: rgba(212, 165, 55, 0.55);
    transform: translateY(-2px);
}
.mz-art-service-eyebrow {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--gold);
    font-weight: 500;
}
.mz-art-service h3 {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 400;
    font-size: clamp(1.5rem, 2.4vw, 2rem);
    color: var(--cream);
    line-height: 1.2;
    margin: 0;
}
.mz-art-service-meta {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gold-pale);
}
.mz-art-service-meta span { white-space: nowrap; }
.mz-art-service-desc {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.7;
    color: var(--line);
    margin: 0;
}
.mz-art-service ul {
    list-style: none;
    margin: 4px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 300;
    color: var(--line);
}
.mz-art-service ul li {
    display: flex;
    gap: 10px;
    line-height: 1.5;
}
.mz-art-service ul li::before {
    content: '—';
    color: var(--gold);
    flex-shrink: 0;
}

@media (max-width: 720px) {
    .mz-art-services-grid { grid-template-columns: 1fr; }
}

/* ── Pipeline strip (tarjetas regulares) ──────────────── */
.mz-pipe-strip {
    display: flex;
    align-items: flex-start;
    gap: 3px;
    flex-wrap: nowrap;
    padding: 16px 0;
    border-top: 1px solid rgba(217,209,190,0.08);
    border-bottom: 1px solid rgba(217,209,190,0.08);
    margin: 4px 0;
    overflow-x: auto;
}
.mz-pipe-arrow {
    color: rgba(168,130,26,0.35);
    font-size: 15px;
    flex-shrink: 0;
    align-self: flex-start;
    padding-top: 10px;
    line-height: 1;
}
.mz-pipe-node {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    opacity: 0.18;
    transition: opacity .3s;
    flex-shrink: 0;
    min-width: 44px;
}
.mz-pipe-node.is-active { opacity: 1; }
.mz-pipe-icon {
    width: 36px;
    height: 36px;
    border: 1px solid rgba(217,209,190,0.12);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(138,127,110,0.6);
}
.mz-pipe-node.is-active .mz-pipe-icon {
    border-color: rgba(212,165,55,0.5);
    color: var(--gold);
    background: rgba(212,165,55,0.07);
}
.mz-pipe-num {
    font-family: 'Inter', sans-serif;
    font-size: 9px;
    letter-spacing: 0.14em;
    color: var(--ink-mute);
    line-height: 1;
}
.mz-pipe-node.is-active .mz-pipe-num { color: var(--gold-pale); }
.mz-pipe-label {
    font-family: 'Inter', sans-serif;
    font-size: 8px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ink-mute);
    text-align: center;
    line-height: 1.3;
    white-space: nowrap;
}
.mz-pipe-node.is-active .mz-pipe-label { color: var(--cream); }

/* ── Service card badge ─────────────────────────────────── */
.mz-art-service-badge {
    display: inline-flex;
    align-items: stretch;
    align-self: flex-start;
    border: 1px solid rgba(212,165,55,0.28);
    border-radius: 3px;
    overflow: hidden;
    /* negative top-margin tucks it against the card top visually */
}
.mz-badge-num {
    padding: 6px 13px;
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 19px;
    font-weight: 400;
    color: var(--gold);
    line-height: 1;
    background: rgba(212,165,55,0.10);
    border-right: 1px solid rgba(212,165,55,0.22);
    display: flex;
    align-items: center;
}
.mz-badge-label {
    padding: 0 13px;
    font-family: 'Inter', sans-serif;
    font-size: 9px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--gold-pale);
    display: flex;
    align-items: center;
}

/* Maestro variant — brighter gold to signal premium tier */
.mz-art-service-badge--maestro {
    border-color: rgba(212,165,55,0.55);
    box-shadow: 0 0 14px rgba(212,165,55,0.12);
}
.mz-art-service-badge--maestro .mz-badge-num {
    background: rgba(212,165,55,0.18);
    color: var(--gold-bright);
    border-right-color: rgba(212,165,55,0.40);
}
.mz-art-service-badge--maestro .mz-badge-label {
    color: var(--gold);
    letter-spacing: 0.24em;
}

/* ── Premium: card full-width + Pipeline Maestro ──────── */
.mz-art-service--maestro {
    grid-column: 1 / -1;
    border-color: rgba(212,165,55,0.28);
    background: rgba(42,36,29,0.6);
}
.mz-maestro-pipeline {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid rgba(212,165,55,0.18);
}
.mz-maestro-node {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 14px 6px 10px;
    gap: 7px;
    position: relative;
    background: rgba(28,24,20,0.3);
    border: 1px solid rgba(217,209,190,0.07);
    border-radius: 6px;
}
.mz-maestro-node:not(:last-child)::after {
    content: '›';
    position: absolute;
    right: -8px;
    top: 22px;
    color: rgba(212,165,55,0.45);
    font-size: 16px;
    z-index: 1;
    line-height: 1;
}
.mz-maestro-icon {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(212,165,55,0.4);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gold);
    background: rgba(212,165,55,0.08);
    flex-shrink: 0;
}
.mz-maestro-num {
    font-family: 'Inter', sans-serif;
    font-size: 9px;
    letter-spacing: 0.18em;
    color: var(--gold-pale);
    font-weight: 500;
    line-height: 1;
}
.mz-maestro-label {
    font-family: 'Inter', sans-serif;
    font-size: 9px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--cream);
    font-weight: 600;
    line-height: 1.2;
}
.mz-maestro-subs {
    list-style: none;
    margin: 4px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
}
.mz-maestro-subs li {
    display: block;
    font-family: 'Inter', sans-serif;
    font-size: 9px;
    color: var(--line);
    letter-spacing: 0.04em;
    font-weight: 300;
    text-align: center;
    line-height: 1.4;
}
.mz-maestro-subs li::before { display: none !important; }

@media (max-width: 960px) {
    .mz-maestro-pipeline { grid-template-columns: repeat(4, 1fr); }
    .mz-maestro-node:not(:last-child)::after { display: none; }
}
@media (max-width: 540px) {
    .mz-maestro-pipeline { grid-template-columns: repeat(3, 1fr); }
    .mz-pipe-strip { gap: 2px; }
}

/* CTA noche */
.mz-art-cta {
    padding: clamp(72px, 11vh, 130px) clamp(24px, 6vw, 96px);
    text-align: center;
    position: relative;
    overflow: hidden;
}
.mz-art-cta-inner {
    max-width: 760px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
.mz-art-cta h2 {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 300;
    font-size: clamp(2rem, 5vw, 4rem);
    line-height: 1.1;
    color: var(--cream);
    margin: 12px 0 18px;
}
.mz-art-cta h2 em {
    font-style: italic;
    color: var(--gold-bright);
    font-weight: 400;
}
.mz-art-cta p {
    font-family: 'Inter', sans-serif;
    font-size: clamp(15px, 1.5vw, 17px);
    font-weight: 300;
    line-height: 1.7;
    color: var(--line);
    max-width: 56ch;
    margin: 0 auto 36px;
}
.mz-art-cta-bloom {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(ellipse 60% 50% at 50% 50%, rgba(212, 165, 55, 0.15), transparent 65%);
    filter: blur(40px);
}

/* Botones noche */
.mz-art-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 18px 44px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    font-weight: 500;
    background: var(--gold);
    color: var(--bg-deep);
    text-decoration: none;
    border: 1px solid var(--gold);
    border-radius: 9999px;
    transition: all .35s cubic-bezier(.22,.61,.36,1);
    cursor: pointer;
}
.mz-art-btn-primary:hover {
    background: var(--gold-bright);
    border-color: var(--gold-bright);
    transform: translateY(-1px);
}
.mz-art-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 16px 38px;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--gold);
    background: transparent;
    text-decoration: none;
    border: 1px solid var(--gold);
    transition: all .35s cubic-bezier(.22,.61,.36,1);
}
.mz-art-btn-secondary:hover {
    background: var(--gold);
    color: var(--bg-deep);
}

/* Vacío honesto (cuando no hay casos publicados) */
.mz-art-empty {
    border: 1px dashed rgba(168, 130, 26, 0.35);
    padding: clamp(48px, 7vh, 72px) clamp(24px, 4vw, 48px);
    text-align: center;
    background: rgba(42, 36, 29, 0.35);
    max-width: 780px;
    margin: 0 auto;
}
.mz-art-empty p {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: clamp(16px, 1.7vw, 20px);
    color: var(--gold-pale);
    line-height: 1.5;
    margin: 0;
}
.mz-art-empty .mz-art-empty-sub {
    font-family: 'Inter', sans-serif;
    font-style: normal;
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--ink-mute);
    margin-top: 16px;
}

/* ── ARTISTAS Dropdown ─────────────────────────────────────── */
.mz-artistas-drop {
    position: relative;
    display: inline-flex;
    align-items: center;
}
.mz-artistas-trigger {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    cursor: pointer;
    /* inherit .mz-nav-cta — just override border/bg defaults for button el */
}
.mz-artistas-trigger-icon {
    transition: transform .3s cubic-bezier(.22,.61,.36,1);
    flex-shrink: 0;
}
.mz-artistas-trigger[aria-expanded="true"] .mz-artistas-trigger-icon {
    transform: rotate(180deg);
}
.mz-artistas-submenu {
    position: absolute;
    right: 0;
    top: calc(100% + 10px);
    min-width: 196px;
    background: var(--bg);
    border: 1px solid var(--line);
    box-shadow: 0 12px 32px rgba(28,24,20,0.14);
    list-style: none;
    margin: 0;
    padding: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity .25s cubic-bezier(.22,.61,.36,1),
                transform .25s cubic-bezier(.22,.61,.36,1),
                visibility .25s;
    z-index: 300;
}
.mz-artistas-submenu.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.mz-artistas-submenu-link {
    display: block;
    padding: 14px 22px;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--ink);
    text-decoration: none;
    border-bottom: 1px solid var(--line-soft);
    transition: background .2s, color .2s;
}
.mz-artistas-submenu li:last-child .mz-artistas-submenu-link { border-bottom: none; }
.mz-artistas-submenu-link:hover { background: var(--gold); color: var(--bg-deep); }

/* Night mode dropdown */
body.is-night .mz-artistas-submenu {
    background: #221C16;
    border-color: rgba(212,165,55,0.25);
    box-shadow: 0 12px 32px rgba(0,0,0,0.35);
}
body.is-night .mz-artistas-submenu-link {
    color: var(--cream);
    border-bottom-color: rgba(255,255,255,0.07);
}
body.is-night .mz-artistas-submenu-link:hover { background: var(--gold); color: var(--bg-deep); }

/* ── Artistas Roster Grid ──────────────────────────────────── */
.mz-art-roster-section {
    padding: clamp(72px,11vh,130px) clamp(20px,5vw,80px);
    min-height: 60vh;
}
.mz-art-roster-inner { max-width: 1200px; margin: 0 auto; }
.mz-art-roster-inner h2 {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(28px,3.5vw,46px);
    font-weight: 400;
    letter-spacing: 0.04em;
    color: var(--cream);
    margin: 0;
    line-height: 1.15;
}
.mz-art-roster-inner h2 em { color: var(--gold-soft); font-style: italic; font-weight: 300; }
.mz-art-roster-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: clamp(24px,3vw,44px);
}
.mz-art-roster-card {
    text-decoration: none;
    color: inherit;
    display: block;
    transition: transform .35s cubic-bezier(.22,.61,.36,1);
}
.mz-art-roster-card:hover { transform: translateY(-5px); }
.mz-art-roster-img {
    aspect-ratio: 3/4;
    overflow: hidden;
    background: rgba(42,36,29,0.6);
    position: relative;
}
.mz-art-roster-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s cubic-bezier(.22,.61,.36,1);
}
.mz-art-roster-card:hover .mz-art-roster-img img { transform: scale(1.05); }
.mz-art-roster-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mz-art-roster-info { padding: 14px 2px 2px; }
.mz-art-roster-name {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(17px,1.8vw,22px);
    font-weight: 400;
    letter-spacing: 0.06em;
    color: var(--cream);
    margin: 0;
    line-height: 1.2;
}
.mz-art-roster-genero {
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--gold-pale);
    margin: 5px 0 0;
}
@media (max-width: 600px) {
    .mz-art-roster-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
}

/* ============================================================
   RESPONSIVE — Mobile & Tablet Fixes
   Scope: ≤ 1024 px → 768 px → 480 px → 390 px → 360 px → 320 px
   Rule: zero desktop changes (all rules capped at max-width).
   ============================================================ */

/* ── TABLET (≤ 1024 px) ───────────────────────────────────── */
@media (max-width: 1024px) {
    /* Artistas landing — normalize vertical rhythm at tablet */
    .mz-art-roster-section {
        padding-top:    clamp(56px, 9vh, 96px);
        padding-bottom: clamp(40px, 6vh, 72px);
    }
    .mz-art-lnd-services {
        padding-top:    clamp(48px, 7vh, 80px);
        padding-bottom: clamp(56px, 8vh, 96px);
    }
}

/* ── TABLET PORTRAIT (≤ 767 px) ───────────────────────────── */
@media (max-width: 767px) {
    /* 1 — Dropdown ARTISTAS trigger: hidden on mobile.
       Mobile nav overlay already carries both links. */
    .mz-artistas-drop { display: none !important; }

    /* 2 — Home pipeline: switch horizontal → vertical at tablet portrait.
       Inline style on #mz-pipeline-mobile uses display:none, needs !important. */
    #mz-pipeline        { display: none  !important; }
    #mz-pipeline-mobile { display: flex  !important; }

    /* 3 — "Qué hacemos" grid: 2-col → 1-col at tablet portrait */
    #mz-que-grid { grid-template-columns: 1fr !important; }

    /* 4 — Artistas landing section padding */
    .mz-art-roster-section {
        padding-top:    48px;
        padding-bottom: 32px;
    }
    .mz-art-lnd-services {
        padding-top:    36px;
        padding-bottom: 56px;
    }
    .mz-art-services-head { margin-bottom: 32px; }

    /* 5 — Landing services H2: fluid headline at tablet */
    .mz-art-lnd-services .mz-art-services-head h2 {
        font-size: clamp(1.75rem, 5.5vw, 2.8rem);
    }
}

/* ── MOBILE LARGE (≤ 480 px) ─────────────────────────────── */
@media (max-width: 480px) {
    /* 6 — Announcement bar: reduce horizontal padding */
    .mz-announcement-bar {
        padding-left:  14px !important;
        padding-right: 14px !important;
    }

    /* 7 — Footer display wordmark: prevent horizontal overflow.
       Tailwind class is applied via text-[clamp(5rem,18vw,16rem)];
       override via the .display utility class in footer context. */
    footer .display {
        font-size:      clamp(2.8rem, 15vw, 5rem) !important;
        letter-spacing: 0.02em !important;
    }

    /* 8 — Pipeline strip icons: shrink for narrow phone */
    .mz-pipe-icon {
        width:         30px;
        height:        30px;
        border-radius: 6px;
    }
    .mz-pipe-icon svg { width: 15px !important; height: 15px !important; }
    .mz-pipe-node     { min-width: 36px; }

    /* 9 — Maestro pipeline: 3-col on medium-small phone */
    .mz-maestro-pipeline { grid-template-columns: repeat(3, 1fr); }

    /* 10 — Artistas CTA button: center + constrain width */
    .mz-art-lnd-services .mz-art-btn-primary {
        display:       flex;
        width:         100%;
        max-width:     320px;
        margin-left:   auto;
        margin-right:  auto;
    }
}

/* ── MOBILE SMALL (≤ 390 px) ─────────────────────────────── */
@media (max-width: 390px) {
    /* 11 — Maestro pipeline: 2-col — minimum for readability */
    .mz-maestro-pipeline { grid-template-columns: repeat(2, 1fr); }

    /* 12 — Hide maestro connecting arrows at 2-col */
    .mz-maestro-node:not(:last-child)::after { display: none; }

    /* 13 — Roster grid: tighter gap */
    .mz-art-roster-grid { gap: 12px; }

    /* 14 — Service card: tighter inner padding + gap */
    .mz-art-service {
        padding: 22px 18px;
        gap:     12px;
    }

    /* 15 — Pipeline strip: compress arrow spacing */
    .mz-pipe-strip { gap: 1px; }
    .mz-pipe-arrow { font-size: 11px; padding-top: 7px; }
}

/* ── MOBILE EXTRA SMALL (≤ 360 px) ───────────────────────── */
@media (max-width: 360px) {
    /* 16 — Footer wordmark: further reduction */
    footer .display {
        font-size:      clamp(2.4rem, 13vw, 4rem) !important;
        letter-spacing: 0 !important;
    }

    /* 17 — Header inner wrapper: tighter horizontal padding */
    .mz-header > div {
        padding-left:  1rem !important;
        padding-right: 1rem !important;
    }

    /* 18 — Announcement bar: minimum padding */
    .mz-announcement-bar {
        padding-left:  10px !important;
        padding-right: 10px !important;
    }

    /* 19 — Roster: tighten gap further */
    .mz-art-roster-grid { gap: 10px; }

    /* 20 — Maestro sub-labels: slightly smaller at 2-col/narrow */
    .mz-maestro-subs li { font-size: 8px; }
    .mz-maestro-label   { font-size: 8px; }
}

/* ── MOBILE MINIMUM (≤ 320 px) ───────────────────────────── */
@media (max-width: 320px) {
    /* 21 — Footer wordmark: absolute minimum size */
    footer .display {
        font-size:      clamp(1.8rem, 12vw, 3rem) !important;
        letter-spacing: 0 !important;
    }

    /* 22 — Service card: absolute minimum padding */
    .mz-art-service { padding: 18px 14px; }

    /* 23 — Maestro pipeline: force 2-col */
    .mz-maestro-pipeline { grid-template-columns: repeat(2, 1fr); }
}
