
        /* Smooth scrolling and basic transitions */
        html {
            scroll-behavior: smooth;
        }
        body {
            transition: background-color 0.3s, color 0.3s;
        }
        /* Gradient text utility */
        .text-gradient {
            background-clip: text;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .hero-blob {
            border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%;
            animation: morph 8s ease-in-out infinite;
        }
        @keyframes morph {
            0%, 100% { border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%; }
            34% { border-radius: 70% 30% 50% 50% / 30% 30% 70% 70%; }
            67% { border-radius: 100% 60% 60% 100% / 100% 100% 60% 60%; }
        }
    
        section { scroll-margin-top: 95px; }
        .hero-heading {position:relative; width:max-content; display: inline-block; max-width:100%; margin-bottom:1.5rem;}
        .hero-name {display:block; white-space:nowrap; font-family:Inter,Arial,sans-serif; font-size:clamp(32px,4.4vw,60px); font-weight:800; letter-spacing:-.045em; line-height:1.25;}
        .hero-slogan {width:0; min-width:100%; display:block; white-space:nowrap; color:#db2777; font-weight:700; line-height:1.9; font-size:22px;}
        .app-preview {width:min(100%,380px); height:auto; filter:drop-shadow(0 22px 25px #83184355);}
        .phone-links,.social-links {display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:10px;}
        .social-links {margin-top:28px;}
        .social-link {display:inline-flex;align-items:center;gap:7px;background:#fdf2f8;color:#9d174d;border:1px solid #fbcfe8;border-radius:12px;padding:10px 15px;font-weight:700;font-size:14px;}
        .social-link:hover {background:#fce7f3;}
        .contact-location {display:block;margin-top:4px;}
        .back-top {text-align:center;padding:24px;background:#fdf2f8;color:#9d174d;font-weight:700;}
        footer a {text-decoration:underline;text-underline-offset:4px;}
        a:focus-visible,select:focus-visible {outline:3px solid #9d174d;outline-offset:4px;}
        @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-blob{animation:none}*{transition:none!important}}
        @media(max-width:380px){.hero-name{font-size:30px} header img{max-width:120px} #language{max-width:130px}}
    
:root{--ease:cubic-bezier(.22,1,.36,1)}
.language-picker{position:relative;margin-inline:8px}
.language-toggle{display:flex;gap:8px;align-items:center;padding:10px 14px;background:#fce7f3;border:1px solid #fbcfe8;border-radius:100px;font-size:.84rem;font-weight:700;color:#831843;animation:language-breathe 2.2s ease-in-out infinite;transform-origin:center;list-style:none;cursor:pointer}
.language-toggle::-webkit-details-marker{display:none}.language-toggle svg{width:20px;height:20px}.language-toggle .chevron{width:14px;height:14px;transition:transform .35s}
.language-toggle:is(:hover,:focus-visible),.language-picker[open] .language-toggle{animation-play-state:paused}.language-picker[open] .chevron{transform:rotate(180deg)}
@keyframes language-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.language-menu{position:absolute;inset-inline-end:0;top:calc(100% + 14px);background:white;padding:8px;min-width:170px;border:1px solid #fbcfe8;border-radius:16px;box-shadow:0 12px 30px #83184318;display:grid;gap:4px}
.language-menu a{padding:10px 14px;border-radius:10px;text-align:start}.language-menu a:hover,.language-menu a[aria-current]{background:#fdf2f8;color:#db2777}
#scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:101;pointer-events:none}#scroll-progress-bar{height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:#ec4899;box-shadow:0 0 8px #ec489950}
.social-button{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;flex-shrink:0;border:1px solid #fbcfe8;border-radius:100px;background:#fdf2f8;color:#ec4899;transition:background .35s,border-color .35s,box-shadow .4s var(--ease),transform .35s var(--ease)}
.social-button svg{width:20px;height:20px}.social-button:is(:hover,:focus-visible){background:#fce7f3;border-color:#ec4899;transform:translateY(-3px) scale(1.05);box-shadow:0 8px 24px #ec489914}
.whatsapp-float{position:fixed;bottom:max(25px,env(safe-area-inset-bottom));inset-inline-end:26px;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#2bcc59;color:#fff;z-index:80;border:1px solid #ffffff9c;box-shadow:0 8px 25px #229a5138;transition:box-shadow .4s var(--ease),transform .4s var(--ease)}
.whatsapp-float img{width:120.7%;height:120.7%;max-width:none;pointer-events:none}.whatsapp-float:is(:hover,:focus-visible){transform:translateY(-4px) scale(1.04);box-shadow:0 0 18px #2bcc597a,0 10px 25px #175b2c26}
.whatsapp-tooltip{position:absolute;inset-inline-end:calc(100% + 12px);white-space:nowrap;background:#172b20;color:#fff;font-size:.8rem;padding:8px 12px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .25s}
.whatsapp-float:is(:hover,:focus-visible) .whatsapp-tooltip{opacity:1}
#app{padding-top:32px;padding-bottom:0;overflow:hidden}#app>.max-w-7xl>.flex{align-items:stretch;gap:32px}#app .md\:w-1\/2:first-child{align-self:center;padding-block:32px 56px}
.phone-stage{align-self:stretch;align-items:flex-end;padding-top:0;line-height:0}.app-preview{display:block;width:min(100%,380px);height:auto;max-height:none;transform-origin:center bottom;transition:transform .5s var(--ease);filter:drop-shadow(0 16px 22px #83184333)}
@media(hover:hover) and (pointer:fine){.app-preview:hover{transform:scale(1.045)}}
summary:focus-visible{outline:3px solid #9d174d;outline-offset:4px}
@media(max-width:767px){#app{padding-top:24px}#app>.max-w-7xl>.flex{gap:0}#app .md\:w-1\/2:first-child{padding-block:24px 36px}.phone-stage{width:100%}.app-preview{width:min(86%,330px)}.whatsapp-float{width:53px;height:53px;inset-inline-end:18px;bottom:max(18px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.language-toggle{animation:none!important}.app-preview:hover{transform:none}}

/* Direction-aware reading progress and the centered social row. */
html[dir="rtl"] #scroll-progress-bar{transform-origin:right}
html[dir="ltr"] #scroll-progress-bar{transform-origin:left}
.social-band{display:flex;align-items:center;justify-content:center;gap:18px;margin:0;padding:30px 24px;background:#fff}
#contact{padding-bottom:24px}
[data-magnetic]{translate:var(--magnetic-x,0px) var(--magnetic-y,0px);transition:background .4s ease,border-color .4s ease,box-shadow .4s ease,transform .4s var(--ease),translate .35s var(--ease)}
[data-magnetic]:not(.whatsapp-float):is(:hover,:focus-visible){border-color:#ec4899;box-shadow:0 0 0 1px #ec489952,0 0 18px #ec48997a,0 0 40px #ec489940,0 10px 25px #83184326}
#app a[data-magnetic]:is(:hover,:focus-visible){border-color:#fff;box-shadow:0 0 0 1px #ffffffb8,0 0 16px #ffffffa6,0 0 38px #ffffff52,0 10px 24px #83184324;transform:translateY(-3px)}
@media(prefers-reduced-motion:reduce),(hover:none){[data-magnetic]{translate:none!important}a[data-magnetic]:hover{transform:none}}
.coming-body{min-height:100svh;background:radial-gradient(ellipse at 50% 30%,#fce7f3,#fdf2f8 65%);color:#831843}
.coming-header{padding:24px;display:flex;justify-content:center}.coming-header img{width:145px;height:auto}
.coming-main{min-height:calc(100svh - 110px);display:grid;place-items:center;padding:24px}
.coming-card{text-align:center;background:#ffffffb8;border:1px solid #fbcfe8;border-radius:32px;padding:clamp(32px,7vw,80px);width:min(100%,640px);box-shadow:0 20px 70px #ec489915}
.coming-card h1{font-size:clamp(32px,6vw,52px);font-weight:800;color:#ec4899;margin:0 0 20px}.coming-card p{font-size:clamp(22px,4vw,32px);line-height:1.8;margin:12px 0}

/* Explicit layout rules shared by every direction. */
.phone-links{margin-top:0!important;gap:0!important;line-height:inherit}
.social-links.social-band{box-sizing:border-box;display:flex!important;justify-content:center!important;align-items:center!important;flex-direction:row!important;float:none!important;width:100%!important;margin:0!important;background:#fff!important;padding:36px 24px 44px!important;gap:18px!important}
#scroll-progress{height:3px}#scroll-progress-bar{transform-origin:left center}html[dir="rtl"] #scroll-progress-bar{transform-origin:right center}
.android-main{background:#fdf2f8}.android-hero{max-width:1200px;margin:auto;padding:72px 32px 0;display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;overflow:hidden}
.android-copy{padding-bottom:64px;position:relative;z-index:1}.android-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:100px;color:#be185d;background:#fce7f3;font-size:14px;font-weight:700}.android-badge svg{width:20px;height:20px}
.android-brand{font-family:Inter,Arial,sans-serif;font-size:clamp(32px,4vw,52px);font-weight:800;letter-spacing:-.04em;margin:28px 0 8px;text-align:start;color:#111827}.android-copy h1{font-size:clamp(34px,4.5vw,58px);line-height:1.5;font-weight:800;color:#ec4899;margin:0 0 18px}.android-description{font-size:18px;line-height:1.9;color:#6b7280;max-width:560px}
.android-actions{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 24px}.android-primary,.android-secondary{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;font-weight:700;border:1px solid #f9a8d4}.android-primary{background:#ec4899;color:#fff}.android-secondary{background:#fff;color:#be185d}.android-ios{font-size:14px;color:#9d174d;text-decoration:underline;text-underline-offset:5px}
.android-visual{position:relative;align-self:end;display:flex;align-items:flex-end;justify-content:center;min-width:0;padding:20px 20px 0}.android-halo{position:absolute;inset:15% -5% 0;border-radius:50% 50% 0 0;background:linear-gradient(145deg,#fbcfe8,#ec4899)}.android-phone{position:relative;width:100%;max-width:370px;height:auto;filter:drop-shadow(0 14px 26px #83184335);transform-origin:bottom center;transition:transform .5s var(--ease)}.android-phone:hover{transform:scale(1.025)}
.android-status{position:absolute;bottom:24px;left:6px;right:6px;background:#fffffff2;border:1px solid #fbcfe8;border-radius:20px;padding:18px;display:flex;gap:12px;align-items:flex-start;box-shadow:0 14px 40px #83184315;backdrop-filter:blur(12px)}.android-status strong{color:#831843;font-weight:700}.android-status p{font-size:12px;color:#6b7280;margin-top:5px;line-height:1.6}.status-dot{width:10px;height:10px;border-radius:50%;background:#ec4899;box-shadow:0 0 0 5px #fce7f3;flex-shrink:0;margin-top:8px}
.android-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:48px max(24px,calc((100% - 1136px)/2));background:white}.android-features article{border:1px solid #fce7f3;border-radius:24px;padding:28px;background:#fdf2f8}.android-features article>span,.android-features svg{font-size:28px;width:28px;height:28px;color:#ec4899;display:block;margin-bottom:16px}.android-features h2{font-size:20px;font-weight:700;color:#111827;margin-bottom:10px}.android-features p{font-size:15px;line-height:1.8;color:#6b7280}
@media(max-width:767px){.android-hero{grid-template-columns:1fr;padding:36px 24px 0;gap:0}.android-copy{padding-bottom:32px}.android-visual{max-width:400px;width:100%;margin:auto}.android-features{grid-template-columns:1fr;padding:32px 24px;gap:16px}.android-copy h1{font-size:36px}.android-description{font-size:16px}}
@media(prefers-reduced-motion:reduce){.android-phone:hover{transform:none}}

/* Two clear hero actions, with the existing pointer-driven magnetic motion. */
.hero-cta{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:56px;min-width:148px;padding:15px 20px;border:1px solid #f9a8d4;border-radius:999px;font-weight:700;font-size:16px;line-height:1.5;text-align:center;box-shadow:0 5px 20px #ec48992e;animation:loyal-cta-float 4s ease-in-out infinite}
.hero-cta-primary{background:linear-gradient(135deg,#ec4899,#db2777);color:#fff}
.hero-cta-secondary{background:#fff;color:#be185d;animation-delay:-2s}
.hero-cta svg{width:20px;height:20px;flex-shrink:0}
.hero-cta::before{content:"";position:absolute;inset:-5px;border-radius:inherit;z-index:-1;pointer-events:none;box-shadow:0 0 20px #ec489959,0 0 38px #ec489926;animation:loyal-cta-glow 3s ease-in-out infinite}
.hero-cta-secondary::before{animation-delay:-1.5s}
.hero-cta:is(:hover,:focus-visible){animation-play-state:paused;box-shadow:0 0 0 1px #ec489952,0 0 22px #ec48997a,0 10px 25px #83184326}
.footer-legal-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 24px;margin:0 20px 18px;color:#9d174d;font-size:14px}
.footer-legal-links a{text-decoration:none}.footer-legal-links a:hover{text-decoration:underline}
/* Keep the links and pages, but hide the links on the three landing pages. */
body:not([data-page]) .footer-legal-links{display:none}
@keyframes loyal-cta-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes loyal-cta-glow{0%,100%{opacity:.55}50%{opacity:1}}
@media(max-width:639px){.hero-actions{gap:14px}.hero-cta{padding-inline:18px;min-width:144px;font-size:15px}}
@media(prefers-reduced-motion:reduce){.hero-cta,.hero-cta::before{animation:none!important}}
/* All four download badges share the same monochrome styling and motion. */
.loyal-app-downloads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;max-width:560px}
.loyal-download-badge{display:flex;align-items:center;gap:12px;min-width:0;min-height:80px;padding:13px 18px;border:1px solid #ffffff70;border-radius:12px;background:#000;color:#fff;text-align:start;text-decoration:none;box-shadow:0 8px 18px #0002}
.loyal-download-badge:hover,.loyal-download-badge:focus-visible{background:#000;color:#fff}
.loyal-download-icon{display:block;flex:0 0 34px;width:34px;height:38px;object-fit:contain;color:#fff}
.loyal-download-copy{display:block;min-width:0}
.loyal-download-kicker{display:block;font-size:12px;font-weight:400;line-height:1.6;color:#fff}
.loyal-download-name{display:block;font-size:19px;font-weight:600;line-height:1.55;color:#fff}
.loyal-download-name.font-english{white-space:nowrap}
.loyal-download-feedback{margin-top:12px;color:#fff;font-size:14px;line-height:1.8}
.loyal-download-feedback:empty{display:none}
.loyal-download-badge[aria-busy="true"]{opacity:.7;cursor:wait}
@media(max-width:767px){.loyal-app-downloads{margin-inline:auto}}
@media(max-width:1023px){.loyal-download-badge{gap:10px;padding-inline:12px}.loyal-download-icon{flex-basis:30px;width:30px;height:36px}.loyal-download-name{font-size:16px}.loyal-download-kicker{font-size:11px}}
@media(min-width:768px) and (max-width:899px){.loyal-app-downloads{gap:12px}.loyal-download-badge{gap:8px;padding-inline:10px}.loyal-download-icon{flex-basis:26px;width:26px}.loyal-download-name{font-size:15px}}
@media(max-width:359px){.loyal-app-downloads{grid-template-columns:1fr;max-width:260px}.loyal-download-badge{padding-inline:18px}.loyal-download-name{font-size:19px}.loyal-download-kicker{font-size:12px}}
.loyal-main-navigation{gap:1.25rem}
@media(max-width:991px){
  .loyal-main-header-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto;height:auto!important;min-height:80px;gap:.35rem 1rem;padding-block:.6rem}
  .loyal-main-header-row>.language-picker{grid-row:1;grid-column:2}
  .loyal-main-navigation{display:flex!important;grid-row:2;grid-column:1/-1;min-width:0;max-width:100%;gap:1.1rem;overflow-x:auto;white-space:nowrap;padding-block:.4rem;font-size:.8rem;scrollbar-width:thin}
  .loyal-main-navigation>a{flex:0 0 auto}
  .loyal-main-navigation>[data-shop-link]{color:#9d174d;font-weight:700}
}

/* Full-bleed film stays fixed while the hero copy scrolls with the page. */
.loyal-video-hero {
  --hero-copy-direction: to right;
  position:relative; isolation:isolate; clip-path:inset(0);
  display:grid; align-items:center;
  min-height:clamp(34rem,calc(100svh - 5rem),56rem);
  padding:clamp(2.4rem,6vw,5.8rem) clamp(1.15rem,4vw,4rem);
  background:#fdf2f8;
}
html[dir="rtl"] .loyal-video-hero { --hero-copy-direction: to left; }
.loyal-hero-film { position:fixed; inset:0; z-index:-2; pointer-events:none; }
.loyal-hero-film video { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.loyal-video-hero::after {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(180deg,transparent 70%,#fdf2f82e 80%,#fdf2f8b0 91%,#fff 100%);
}
.loyal-hero-copy { width:min(100%,76rem); margin-inline:auto; text-align:start; }
.loyal-hero-words { width:min(100%,35rem); position:relative; isolation:isolate; }
.loyal-hero-words::before {
  content:""; position:absolute; z-index:-1; pointer-events:none;
  inset-block:-4rem; inset-inline-start:min(-1.15rem,-4vw,calc((76rem - 100vw)/2)); inset-inline-end:-5rem;
  background:linear-gradient(var(--hero-copy-direction),#fdf2f8dc 0%,#fdf2f8c4 calc(100% - 5rem),transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0%,#000 17%,#000 83%,transparent 100%);
}
.loyal-video-hero .hero-heading { margin:0 0 .55rem; }
.loyal-video-hero .hero-name { font-size:clamp(2.35rem,5.1vw,4.45rem); color:#202332; }
.loyal-video-hero .hero-slogan { color:#a91854; }
.loyal-video-hero [data-i18n="heroSubtitle"] { margin:1rem 0 1.7rem; max-width:35rem; line-height:1.8; color:#3d3644; }
.loyal-hero-actions { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:.8rem; margin:0; }
.loyal-video-hero .hero-cta-primary { background:linear-gradient(135deg,#bc235e,#a81d57); }
.hero-cta-consult { background:#f8dfea; border-color:#e9a9c9; color:#7c1a4c; animation-delay:-1s; }

/* Each contact link includes its icon, label and value. */
#contact .loyal-contact-cards { display:grid; justify-items:start; gap:.4rem; }
#contact .loyal-contact-card {
  display:flex; align-items:flex-start; gap:.9rem; max-width:100%;
  padding:.5rem; margin-inline-start:-.5rem; border:1px solid transparent; border-radius:.85rem;
  color:#374151; text-decoration:none; line-height:inherit;
}
#contact .loyal-contact-copy { min-width:0; }
#contact .loyal-contact-value { color:#374151; white-space:nowrap; }
#contact .contact-location { margin-top:.24rem; white-space:normal; overflow-wrap:anywhere; }
#contact .contact-location [data-i18n="contactHours"] { margin-top:.3rem; }
#contact .loyal-contact-card:is(:hover,:focus-visible) { color:#374151; background:#fdf2f8; text-decoration:none; }
@media(max-width:900px) { .loyal-hero-words { width:min(100%,31rem); } }
@media(max-width:767px) {
  .loyal-video-hero { align-items:end; min-height:clamp(32rem,calc(88svh - 4rem),44rem); padding-bottom:clamp(2.4rem,8vw,4rem); }
  .loyal-hero-words::before {
    inset-block:-3.2rem -1.8rem; inset-inline:min(-1.15rem,-4vw);
    background:linear-gradient(180deg,transparent 0%,#fdf2f8d2 3rem,#fdf2f8d2 calc(100% - .8rem),transparent 100%);
    mask-image:none;
  }
  .loyal-video-hero [data-i18n="heroSubtitle"] { line-height:1.72; }
  #contact .loyal-contact-card { gap:.72rem; }
  #contact .contact-location { font-size:clamp(.82rem,3.65vw,1rem); }
}
@media(max-width:440px) {
  .loyal-hero-actions .hero-cta { min-width:0; min-height:46px; font-size:.83rem; padding:.5rem .72rem; }
  .loyal-hero-actions { gap:.5rem; }
  .loyal-video-hero .hero-name { white-space:normal; }
}
@media(max-width:340px) { #contact .loyal-contact-value { white-space:normal; overflow-wrap:anywhere; } }
@media(prefers-reduced-motion:reduce) { .loyal-hero-film { position:absolute; } }
