/* Shared foundation lives in assets/css/shared/blossom-core.css. */

        body {
            background-attachment: fixed;
        }

        .page-shell {
            position: relative;
            isolation: isolate;
            --flow-shift: 0px;
            --flow-drift: 0px;
            --pointer-x: 0px;
            --pointer-y: 0px;
            background: linear-gradient(180deg, rgba(255,255,255,0.82), rgba(248,253,255,0.92));
        }

        .page-shell::before,
        .page-shell::after {
            content: "";
            position: absolute;
            inset: 0;
            pointer-events: none;
            z-index: 0;
        }

        .page-shell::before {
            background:
                radial-gradient(circle at calc(16% + var(--pointer-x)) calc(8% + var(--pointer-y)), rgba(141, 215, 247, 0.2), transparent 18%),
                radial-gradient(circle at calc(84% - var(--pointer-x)) calc(20% + var(--pointer-y)), rgba(255, 104, 200, 0.12), transparent 18%),
                radial-gradient(circle at 52% calc(46% + var(--flow-drift)), rgba(202, 122, 174, 0.08), transparent 26%);
            opacity: 0.95;
            transform: translate3d(0, calc(var(--flow-shift) * -0.12), 0);
        }

        .page-shell::after {
            background:
                linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.5) 16%, rgba(255,255,255,0.12) 42%, rgba(255,255,255,0) 100%),
                radial-gradient(circle at 50% 50%, rgba(255,255,255,0.2), transparent 48%);
            mix-blend-mode: screen;
            opacity: 0.56;
        }

        .noise {
            position: fixed;
            inset: 0;
            opacity: 0.03;
            pointer-events: none;
            z-index: 9999;
            background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
        }

        .bg-grid {
            background-size: 42px 42px;
            background-image:
                linear-gradient(to right, rgba(76, 105, 113, 0.05) 1px, transparent 1px),
                linear-gradient(to bottom, rgba(76, 105, 113, 0.05) 1px, transparent 1px);
        }

        .bloom-section {
            position: relative;
            overflow: hidden;
            isolation: isolate;
            --section-accent: rgba(141, 215, 247, 0.18);
            --section-accent-secondary: rgba(255, 104, 200, 0.12);
        }

        .bloom-section:nth-of-type(even) {
            --section-accent: rgba(255, 104, 200, 0.12);
            --section-accent-secondary: rgba(86, 196, 207, 0.18);
        }

        .bloom-section::before,
        .bloom-section::after {
            content: "";
            position: absolute;
            border-radius: 9999px;
            pointer-events: none;
            filter: blur(38px);
            opacity: 0.55;
            z-index: 0;
            animation: driftHalo 18s ease-in-out infinite;
            transition: opacity .55s ease, filter .55s ease;
        }

        .bloom-section::before {
            top: -9rem;
            left: -7rem;
            width: 21rem;
            height: 21rem;
            background: radial-gradient(circle, var(--section-accent), transparent 68%);
        }

        .bloom-section::after {
            right: -8rem;
            bottom: -10rem;
            width: 23rem;
            height: 23rem;
            background: radial-gradient(circle, var(--section-accent-secondary), transparent 70%);
            animation-delay: -6s;
        }

        .section-in-view::before,
        .section-in-view::after {
            opacity: 0.64;
            filter: blur(44px);
        }

        .section-backdrop {
            position: absolute;
            inset: 0;
            pointer-events: none;
            opacity: 0.78;
            -webkit-mask-image: linear-gradient(180deg, transparent 0%, black 14%, black 86%, transparent 100%);
            mask-image: linear-gradient(180deg, transparent 0%, black 14%, black 86%, transparent 100%);
        }

        .page-flow {
            position: absolute;
            top: 5rem;
            bottom: 5rem;
            width: clamp(10rem, 20vw, 18rem);
            border-radius: 9999px;
            filter: blur(48px);
            opacity: 0.42;
            pointer-events: none;
            z-index: 0;
        }

        .page-flow-left {
            left: max(-3rem, calc(50% - 40rem));
            background: linear-gradient(180deg, rgba(141, 215, 247, 0), rgba(141, 215, 247, 0.22) 18%, rgba(86, 196, 207, 0.18) 42%, rgba(255, 104, 200, 0.08) 68%, rgba(255, 255, 255, 0) 100%);
            transform: translate3d(0, calc(var(--flow-shift) * -0.2), 0);
        }

        .page-flow-center {
            left: 50%;
            width: clamp(8rem, 14vw, 13rem);
            background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(86, 196, 207, 0.2) 18%, rgba(255, 104, 200, 0.14) 52%, rgba(76, 105, 113, 0.08) 82%, rgba(255, 255, 255, 0));
            transform: translate3d(-50%, calc(var(--flow-shift) * -0.1), 0);
            opacity: 0.3;
        }

        .page-flow-right {
            right: max(-3rem, calc(50% - 42rem));
            background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 104, 200, 0.14) 12%, rgba(202, 122, 174, 0.16) 44%, rgba(141, 215, 247, 0.18) 76%, rgba(255, 255, 255, 0));
            transform: translate3d(0, calc(var(--flow-shift) * -0.16), 0);
        }

        .story-main {
            position: relative;
            isolation: isolate;
        }

        .story-main::before,
        .story-main::after {
            content: "";
            position: absolute;
            top: 4rem;
            bottom: 4rem;
            pointer-events: none;
            z-index: 0;
        }

        .story-main::before {
            left: 50%;
            width: clamp(12rem, 24vw, 22rem);
            border-radius: 9999px;
            background: linear-gradient(180deg, rgba(255,255,255,0), rgba(141,215,247,0.14) 16%, rgba(255,104,200,0.12) 48%, rgba(86,196,207,0.12) 78%, rgba(255,255,255,0));
            filter: blur(42px);
            opacity: 0.52;
            transform: translate3d(-50%, calc(var(--flow-shift) * -0.06), 0);
        }

        .story-main::after {
            left: 50%;
            width: 1px;
            transform: translateX(-50%);
            background: linear-gradient(180deg, transparent, rgba(86, 196, 207, 0.2) 14%, rgba(202, 122, 174, 0.18) 48%, rgba(76, 105, 113, 0.14) 82%, transparent);
            opacity: 0.68;
        }

        .section-ornament,
        .section-drift {
            display: none !important;
        }

        .glass-panel {
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(255, 255, 255, 0.66));
            backdrop-filter: blur(22px);
            -webkit-backdrop-filter: blur(22px);
        }

        .soft-panel {
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.74));
            box-shadow:
                0 24px 80px rgba(76, 105, 113, 0.08),
                inset 0 1px 0 rgba(255, 255, 255, 0.85);
        }

        .glass-panel,
        .soft-panel,
        .sales-panel,
        .faq-item {
            position: relative;
        }

        .glass-panel::after,
        .soft-panel::after,
        .sales-panel::after,
        .faq-item::before {
            content: "";
            position: absolute;
            inset: 1px;
            border-radius: inherit;
            pointer-events: none;
            background: linear-gradient(135deg, rgba(255,255,255,0.58), rgba(255,255,255,0) 34%, rgba(141,215,247,0.08) 62%, rgba(255,104,200,0.06) 100%);
            opacity: 0.9;
        }

        .glass-panel > *,
        .soft-panel > *,
        .faq-item > * {
            position: relative;
            z-index: 1;
        }

        .orbital-bloom {
            position: absolute;
            border-radius: 9999px;
            border: 1px solid rgba(202, 122, 174, .26);
            animation: pulseBloom 4s ease-in-out infinite;
        }

        .floating-note {
            position: absolute;
            display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.85rem 1rem;
            border-radius: 1.2rem;
            background: rgba(255, 255, 255, 0.76);
            border: 1px solid rgba(255, 255, 255, 0.84);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            box-shadow: 0 18px 44px rgba(76, 105, 113, 0.12);
            animation: floatSoft 7s ease-in-out infinite;
        }

        .petal {
            position: absolute;
            width: 20px;
            height: 28px;
            border-radius: 70% 30% 68% 32% / 40% 39% 61% 60%;
            opacity: 0;
            animation: petalDrift linear infinite;
            filter: blur(.1px);
        }

        .petal-cyan {
            background: linear-gradient(180deg, rgba(86, 196, 207, .88), rgba(141, 215, 247, .76));
        }

        .petal-pink {
            background: linear-gradient(180deg, rgba(255, 104, 200, .9), rgba(216, 113, 170, .72));
        }

        .petal-sky {
            background: linear-gradient(180deg, rgba(141, 215, 247, .92), rgba(86, 196, 207, .68));
        }

        .text-outline {
            color: transparent;
            -webkit-text-stroke: 1px rgba(216, 113, 170, 0.84);
            text-shadow: 0 0 18px rgba(141, 215, 247, 0.22);
        }

        .text-reveal-wrapper {
            overflow: hidden;
            display: inline-block;
            vertical-align: bottom;
        }

        .text-reveal-content {
            display: block;
            transform: translateY(110%);
            opacity: 0;
            transition: transform 1.1s cubic-bezier(0.16, 1, 0.3, 1), opacity 1.1s ease;
        }

        .reveal-active .text-reveal-content {
            transform: translateY(0);
            opacity: 1;
        }

        .reveal {
            opacity: 0;
            transform: translateY(1.8rem);
            transition: all 1s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .reveal.active {
            opacity: 1;
            transform: translateY(0);
        }

        .reveal-up {
            opacity: 0;
            transform: translateY(34px);
            filter: blur(12px);
            transition: all 1.05s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .reveal-up.active {
            opacity: 1;
            transform: translateY(0);
            filter: blur(0);
        }

        .reveal-zoom {
            opacity: 0;
            transform: scale(.96);
            filter: blur(12px);
            transition: all 1.1s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .reveal-zoom.active {
            opacity: 1;
            transform: scale(1);
            filter: blur(0);
        }

        .delay-100 { transition-delay: .1s; }
        .delay-150 { transition-delay: .15s; }
        .delay-200 { transition-delay: .2s; }
        .delay-250 { transition-delay: .25s; }
        .delay-300 { transition-delay: .3s; }

        .btn-beam {
            position: relative;
            z-index: 10;
            overflow: hidden;
        }

        .btn-beam::before {
            content: "";
            position: absolute;
            inset: -2px;
            z-index: -1;
            border-radius: inherit;
            opacity: 0;
            transition: opacity .35s;
            background: conic-gradient(from 90deg at 50% 50%, rgba(86, 196, 207, 0.16) 0%, rgba(76, 105, 113, 0.85) 35%, rgba(216, 113, 170, 0.78) 68%, rgba(141, 215, 247, 0.18) 100%);
            animation: spin 5s linear infinite;
        }

        .btn-beam:hover::before {
            opacity: 1;
        }

        .btn-beam-content {
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: inherit;
            position: relative;
            z-index: 2;
            background: linear-gradient(180deg, #4c6971 0%, #35515a 100%);
            color: white;
            border: 1px solid rgba(255,255,255,.08);
        }

        .btn-whatsapp::before {
            background: conic-gradient(from 90deg at 50% 50%, rgba(37, 211, 102, 0.18) 0%, rgba(20, 128, 61, 0.88) 34%, rgba(74, 222, 128, 0.78) 68%, rgba(220, 252, 231, 0.2) 100%);
        }

        .btn-whatsapp .btn-beam-content {
            background: linear-gradient(180deg, #2bc866 0%, #1f9d52 100%);
            border: 1px solid rgba(255,255,255,.1);
            box-shadow:
                inset 0 1px 0 rgba(255,255,255,.18),
                0 16px 34px rgba(31, 157, 82, 0.18);
        }

        .flashlight-card {
            position: relative;
            overflow: hidden;
        }

        .flashlight-card::before {
            content: "";
            position: absolute;
            inset: 0;
            background: radial-gradient(680px circle at var(--mouse-x, 0) var(--mouse-y, 0),
                    rgba(141, 215, 247, 0.34),
                    rgba(255, 104, 200, 0.08) 22%,
                    transparent 44%);
            opacity: 0;
            transition: opacity .45s ease;
            pointer-events: none;
            z-index: 2;
        }

        .flashlight-card:hover::before {
            opacity: 1;
        }

        .tilt-panel {
            position: relative;
            transform-style: preserve-3d;
            will-change: transform;
            transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
        }

        .tilt-panel::before {
            content: "";
            position: absolute;
            inset: 1px;
            border-radius: inherit;
            background: linear-gradient(130deg, rgba(255,255,255,0.22), transparent 34%, transparent 68%, rgba(141,215,247,0.12));
            opacity: 0;
            transition: opacity .24s ease;
            pointer-events: none;
        }

        .tilt-panel:hover::before {
            opacity: 1;
        }

        .authority-portrait-shell {
            border-radius: 3.15rem;
            overflow: hidden;
            border: 1px solid rgba(255,255,255,0.74);
            background: linear-gradient(180deg, rgba(255,255,255,0.48), rgba(249,254,255,0.22));
            box-shadow:
                0 28px 74px rgba(76, 105, 113, 0.12),
                inset 0 1px 0 rgba(255,255,255,0.82);
        }

        .authority-portrait-shell::after {
            content: "";
            position: absolute;
            inset: auto -18% 10% -18%;
            height: 28%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.22), transparent);
            transform: translateX(-120%);
            animation: shimmerSweep 7.5s ease-in-out infinite;
            pointer-events: none;
            opacity: 0.65;
        }

        .authority-bio-panel {
            overflow: hidden;
        }

        .authority-bio-panel::before,
        .authority-stat-card::after {
            content: "";
            position: absolute;
            left: 1.35rem;
            right: 1.35rem;
            bottom: 1rem;
            height: 1px;
            background: linear-gradient(90deg, rgba(141,215,247,0.14), rgba(255,104,200,0.18), rgba(86,196,207,0.16));
            transform-origin: left;
            animation: pulseLine 4.8s ease-in-out infinite;
            pointer-events: none;
        }

        .authority-stat-card {
            overflow: hidden;
            transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
        }

        .authority-soft-hover {
            transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
        }

        .authority-stat-icon {
            transition: transform .22s ease, background-color .22s ease;
        }

        @media (hover: hover) and (pointer: fine) {
            .authority-soft-hover:hover {
                transform: translateY(-3px);
                border-color: rgba(86, 196, 207, 0.18);
                box-shadow:
                    0 24px 62px rgba(76, 105, 113, 0.11),
                    inset 0 1px 0 rgba(255,255,255,0.9);
            }

            .authority-soft-hover:hover .authority-stat-icon {
                transform: translateY(-1px) scale(1.03);
            }
        }

        .focus-ring-target {
            outline: none;
        }

        .focus-ring-target:focus-visible {
            box-shadow:
                0 0 0 4px rgba(141, 215, 247, 0.3),
                0 0 0 1px rgba(76, 105, 113, 0.24);
        }

        .sales-panel {
            position: relative;
            overflow: hidden;
            border-radius: 2rem;
            border: 1px solid rgba(76, 105, 113, 0.1);
            background: linear-gradient(180deg, rgba(255,255,255,0.9), rgba(247,253,255,0.74));
            box-shadow:
                0 24px 72px rgba(76, 105, 113, 0.08),
                inset 0 1px 0 rgba(255,255,255,0.92);
        }

        .sales-panel::before {
            content: "";
            position: absolute;
            inset: -18% auto auto -10%;
            width: 11rem;
            height: 11rem;
            border-radius: 9999px;
            background: radial-gradient(circle, rgba(141, 215, 247, 0.16), transparent 68%);
            pointer-events: none;
        }

        .sales-panel > * {
            position: relative;
            z-index: 1;
        }

        .trust-chip {
            display: inline-flex;
            align-items: center;
            gap: 0.55rem;
            padding: 0.8rem 0.95rem;
            border-radius: 9999px;
            border: 1px solid rgba(76, 105, 113, 0.1);
            background: rgba(255,255,255,0.72);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }

        .faq-item {
            border-radius: 1.6rem;
            border: 1px solid rgba(76, 105, 113, 0.1);
            background: linear-gradient(180deg, rgba(255,255,255,0.86), rgba(248,253,255,0.72));
            overflow: hidden;
            transition: border-color .34s ease, box-shadow .34s ease, background .34s ease;
        }

        .faq-item:hover {
            border-color: rgba(86, 196, 207, 0.18);
        }

        .faq-item[open] {
            border-color: rgba(202, 122, 174, 0.18);
            background: linear-gradient(180deg, rgba(255,255,255,0.92), rgba(249,252,255,0.82));
            box-shadow: 0 18px 42px rgba(76, 105, 113, 0.07);
        }

        .faq-item summary {
            list-style: none;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            padding: 1.15rem 1.25rem;
            transition: color .24s ease;
        }

        .faq-item summary span {
            transition: transform .34s ease, color .24s ease;
        }

        .faq-item[open] summary span {
            transform: translateX(4px);
        }

        .faq-item summary::-webkit-details-marker {
            display: none;
        }

        .faq-item summary::after {
            content: "+";
            flex: none;
            width: 2rem;
            height: 2rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 9999px;
            color: #35515A;
            background: rgba(141,215,247,0.16);
            font-size: 1.15rem;
            transition: transform .34s ease, background-color .24s ease, box-shadow .34s ease;
        }

        .faq-item[open] summary::after {
            transform: rotate(45deg);
            background: rgba(255,104,200,0.14);
            box-shadow: 0 0 0 8px rgba(255,104,200,0.06);
        }

        .faq-answer {
            display: grid;
            grid-template-rows: 0fr;
            padding: 0 1.25rem;
            transition: grid-template-rows .42s cubic-bezier(0.16, 1, 0.3, 1), padding-bottom .34s ease;
        }

        .faq-item[open] .faq-answer {
            grid-template-rows: 1fr;
            padding-bottom: 1.2rem;
        }

        .faq-answer-inner {
            min-height: 0;
            overflow: hidden;
            color: #67838A;
            line-height: 1.7;
            font-size: 0.95rem;
            opacity: 0;
            transform: translateY(-8px);
            transition: opacity .28s ease, transform .42s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .faq-item[open] .faq-answer-inner {
            opacity: 1;
            transform: translateY(0);
        }

        .marquee-container {
            display: flex;
            width: max-content;
            min-width: 100%;
            align-items: center;
        }

        .marquee-content {
            display: flex;
            align-items: center;
            flex-shrink: 0;
            min-width: max-content;
            animation: marqueeFlow 30s linear infinite;
        }

        .story-band {
            position: relative;
            overflow: hidden;
            background: linear-gradient(180deg, rgba(255,255,255,0.38), rgba(247,253,255,0.34));
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
            -webkit-mask-image: linear-gradient(180deg, transparent 0%, black 18%, black 82%, transparent 100%);
            mask-image: linear-gradient(180deg, transparent 0%, black 18%, black 82%, transparent 100%);
        }

        .story-band::before {
            content: "";
            position: absolute;
            inset: 0;
            background:
                linear-gradient(90deg, transparent, rgba(141,215,247,0.18) 22%, rgba(255,104,200,0.14) 52%, transparent 78%),
                radial-gradient(circle at 18% 50%, rgba(141,215,247,0.12), transparent 22%),
                radial-gradient(circle at 82% 50%, rgba(255,104,200,0.08), transparent 20%);
            opacity: 0.5;
            pointer-events: none;
        }

        .bloom-path {
            position: relative;
            display: grid;
            gap: 1rem;
        }

        .bloom-path::before {
            content: "";
            position: absolute;
            left: 0.75rem;
            top: 1.4rem;
            bottom: 1.4rem;
            width: 1px;
            background: linear-gradient(180deg, rgba(86,196,207,0.2), rgba(216,113,170,0.28));
        }

        .bloom-step {
            position: relative;
            padding-left: 2.5rem;
        }

        .bloom-step::before {
            content: "";
            position: absolute;
            left: 0;
            top: 0.35rem;
            width: 1.5rem;
            height: 1.5rem;
            border-radius: 9999px;
            background: linear-gradient(180deg, rgba(86,196,207,0.9), rgba(141,215,247,0.8));
            box-shadow: 0 0 0 7px rgba(86,196,207,0.12);
        }

        .story-footer {
            position: relative;
        }

        .story-footer::before {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            top: 0;
            height: clamp(4.5rem, 7vw, 6.5rem);
            transform: translateY(-58%);
            background: linear-gradient(90deg, transparent 0%, rgba(141,215,247,0.24) 18%, rgba(255,104,200,0.2) 50%, rgba(86,196,207,0.22) 82%, transparent 100%);
            clip-path: polygon(0 60%, 10% 44%, 24% 62%, 36% 46%, 50% 66%, 64% 44%, 78% 60%, 90% 46%, 100% 58%, 100% 100%, 0 100%);
            filter: blur(8px);
            opacity: 0.88;
            pointer-events: none;
        }

        @keyframes marqueeFlow {
            0% { transform: translateX(0); }
            100% { transform: translateX(-100%); }
        }

        @media (prefers-reduced-motion: reduce) {
            .page-shell::before,
            .page-flow,
            .story-main::before {
                transform: none !important;
            }
        }

        @media (max-width: 767px) {
            .page-flow-left,
            .page-flow-right {
                width: 9rem;
                opacity: 0.3;
            }

            .page-flow-center,
            .story-main::after {
                opacity: 0.18;
            }

        }
