/* Homepage license showcase — isolated styles to keep the shared header/footer untouched. */
.rb-license-section.rb-license-v2 {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 76px 0 88px;
    background:
        radial-gradient(ellipse at 76% 49%, rgba(227, 72, 166, .13), transparent 36%),
        radial-gradient(ellipse at 14% 88%, rgba(111, 81, 184, .08), transparent 34%),
        linear-gradient(180deg, #fbfaff 0%, #fff 100%);
}
.rb-license-section.rb-license-v2::before,
.rb-license-section.rb-license-v2::after {
    position: absolute;
    z-index: -1;
    width: 380px;
    height: 380px;
    border: 1px solid rgba(183, 66, 151, .08);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}
.rb-license-section.rb-license-v2::before { top: -240px; left: -190px; box-shadow: 0 0 0 28px rgba(255,255,255,.3), 0 0 0 58px rgba(192,75,157,.025); }
.rb-license-section.rb-license-v2::after { right: -270px; bottom: -270px; width: 520px; height: 520px; }
.rb-license-v2-layout {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    align-items: center;
    gap: clamp(24px, 4vw, 66px);
    min-height: 510px;
}
.rb-license-v2-copy { position: relative; z-index: 2; max-width: 590px; }
.rb-license-v2-kicker {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: #765474;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .19em;
}
.rb-license-v2-kicker i { display: inline-block; width: 34px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, #f41469, #9d1aa8); }
.rb-license-v2-copy h2 {
    margin: 20px 0 19px;
    color: #171629;
    font-size: clamp(42px, 5vw, 66px);
    font-weight: 850;
    line-height: 1.03;
    letter-spacing: -.065em;
}
.rb-license-v2-copy h2 span { color: #df176e; }
.rb-license-v2-copy > p { max-width: 525px; margin: 0; color: #696878; font-size: 16px; font-weight: 500; line-height: 1.8; }
.rb-license-v2-points { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 27px; }
.rb-license-v2-points span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 46px;
    padding: 0 14px;
    border: 1px solid rgba(94, 76, 117, .11);
    border-radius: 15px;
    background: rgba(255, 255, 255, .76);
    box-shadow: 0 8px 22px rgba(40, 26, 62, .045), inset 0 1px 0 rgba(255,255,255,.9);
    color: #3b3549;
    font-size: 12px;
    font-weight: 760;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.rb-license-v2-points i { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 10px; background: #fff0f6; color: #d81469; font-size: 12px; }
.rb-license-v2-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    min-height: 58px;
    padding: 0 25px;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 16px;
    background: linear-gradient(105deg, #ec176d 0%, #bd168e 52%, #6e1b9e 100%);
    box-shadow: 0 13px 29px rgba(187, 21, 111, .23), inset 0 1px 0 rgba(255,255,255,.28);
    color: #fff;
    font-size: 14px;
    font-weight: 820;
    text-decoration: none;
    transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.rb-license-v2-cta:hover { transform: translateY(-3px); box-shadow: 0 18px 35px rgba(187, 21, 111, .3), inset 0 1px 0 rgba(255,255,255,.28); color: #fff; filter: saturate(1.08); }
.rb-license-v2-cta i { transition: transform .25s ease; }
.rb-license-v2-cta:hover i { transform: translateX(4px); }

.rb-license-v2-scene {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 510px;
    place-items: center;
    perspective: 1100px;
    transform-style: preserve-3d;
}
.rb-license-v2-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(82%, 440px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(218, 71, 167, .18) 0%, rgba(172, 86, 190, .09) 43%, transparent 72%);
    filter: blur(9px);
    transform: translate(-50%, -50%);
    animation: rb-license-glow 5s ease-in-out infinite alternate;
}
.rb-license-v2-ring {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid rgba(199, 48, 146, .17);
    border-radius: 50%;
    pointer-events: none;
    transform-style: preserve-3d;
}
.rb-license-v2-ring-a { width: min(100%, 575px); height: 365px; animation: rb-license-orbit-a 32s linear infinite; }
.rb-license-v2-ring-b { width: min(92%, 525px); height: 420px; border-color: rgba(120, 80, 180, .13); animation: rb-license-orbit-b 39s linear infinite; }
.rb-license-v2-orbit-dot { position: absolute; z-index: 1; width: 11px; height: 11px; border: 3px solid white; border-radius: 50%; background: #d91b8a; box-shadow: 0 0 0 5px rgba(215,31,137,.13), 0 0 20px rgba(215,31,137,.5); animation: rb-license-dot-pulse 2s ease-in-out infinite; }
.rb-license-v2-dot-a { top: 17%; left: 29%; }
.rb-license-v2-dot-b { top: 51%; right: 5%; animation-delay: .65s; }
.rb-license-v2-dot-c { bottom: 12%; left: 49%; animation-delay: 1.2s; }
.rb-license-v2-card {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    width: min(68%, 365px);
    padding: 24px 25px 20px;
    border: 1px solid rgba(255,255,255,.94);
    border-radius: 27px;
    background: linear-gradient(142deg, rgba(255,255,255,.91), rgba(255,248,253,.76));
    box-shadow: 0 34px 82px rgba(97, 47, 111, .19), 0 8px 24px rgba(73, 43, 94, .08), inset 0 1px 0 rgba(255,255,255,.96);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    transform: translate(-50%, -50%) rotate(-5deg) translateZ(34px);
    animation: rb-license-card-float 6s ease-in-out infinite;
}
.rb-license-v2-card-top { display: flex; align-items: center; justify-content: space-between; color: #8a8292; font-size: 9px; font-weight: 850; letter-spacing: .1em; }
.rb-license-v2-card-top span { display: inline-flex; align-items: center; gap: 8px; }
.rb-license-v2-card-top span i { color: #a51896; font-size: 13px; }
.rb-license-v2-card-top > i { font-size: 15px; }
.rb-license-v2-brand { display: flex; align-items: center; gap: 12px; margin: 21px 0 18px; }
.rb-license-v2-brand > img { width: 49px; height: 49px; filter: drop-shadow(0 5px 9px rgba(123, 31, 126, .17)); }
.rb-license-v2-brand > span { min-width: 0; flex: 1; }
.rb-license-v2-brand b, .rb-license-v2-brand small { display: block; }
.rb-license-v2-brand b { color: #211b30; font-size: 17px; font-weight: 850; letter-spacing: -.04em; }
.rb-license-v2-brand small { margin-top: 4px; color: #7b7486; font-size: 10px; font-weight: 600; }
.rb-license-v2-brand em { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid #d6f4e6; border-radius: 999px; background: #eafff3; color: #208a5c; font-size: 10px; font-style: normal; font-weight: 800; }
.rb-license-v2-brand em i { width: 7px; height: 7px; border-radius: 50%; background: #28b477; box-shadow: 0 0 0 4px rgba(40,180,119,.12); }
.rb-license-v2-rule { height: 1px; margin-bottom: 15px; background: linear-gradient(90deg, transparent, rgba(117,97,133,.2), transparent); }
.rb-license-v2-meta { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 10px 0; }
.rb-license-v2-meta span { color: #8e8799; font-size: 8px; font-weight: 850; letter-spacing: .1em; }
.rb-license-v2-meta b { color: #30283b; font-size: 11px; font-weight: 760; }
.rb-license-v2-card-action { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 43px; margin-top: 17px; border: 1px solid rgba(208, 82, 172, .18); border-radius: 13px; background: linear-gradient(105deg, rgba(250,225,241,.86), rgba(239,228,249,.86)); color: #55204f; font-size: 11px; font-weight: 850; }
.rb-license-v2-card-action i { color: #c21b83; }
.rb-license-v2-module {
    position: absolute;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 10px;
    width: 190px;
    min-height: 78px;
    padding: 11px 12px;
    border: 1px solid rgba(255,255,255,.93);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(255,255,255,.89), rgba(255,255,255,.64));
    box-shadow: 0 16px 42px rgba(66, 46, 85, .13), inset 0 1px 0 rgba(255,255,255,.98);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    animation: rb-license-module-float 5.2s ease-in-out infinite;
    transition: transform .25s ease, box-shadow .25s ease;
}
.rb-license-v2-module:hover { transform: translateY(-6px) translateZ(22px); box-shadow: 0 21px 48px rgba(66, 46, 85, .18); }
.rb-license-v2-module > span:nth-child(2) { min-width: 0; flex: 1; }
.rb-license-v2-module b, .rb-license-v2-module small { display: block; white-space: nowrap; }
.rb-license-v2-module b { color: #262034; font-size: 11px; font-weight: 850; letter-spacing: -.015em; }
.rb-license-v2-module small { margin-top: 4px; color: #81798b; font-size: 9px; font-weight: 560; }
.rb-license-v2-module-icon { display: grid; width: 39px; height: 39px; flex: 0 0 39px; place-items: center; border: 1px solid rgba(215,24,125,.12); border-radius: 13px; background: linear-gradient(145deg, #fff1f7, #f5eafd); box-shadow: 0 6px 15px rgba(195,32,127,.1); color: #bd1984; font-size: 16px; }
.rb-license-v2-live { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: #25b878; box-shadow: 0 0 0 4px rgba(37,184,120,.12); }
.rb-license-v2-pos { top: 7%; left: 3%; animation-delay: -.7s; }
.rb-license-v2-qr { top: 12%; right: 0; animation-delay: -1.8s; }
.rb-license-v2-delivery { top: 51%; left: 0; animation-delay: -2.5s; }
.rb-license-v2-kitchen { top: 55%; right: 0; animation-delay: -1.2s; }
.rb-license-v2-kiosk { bottom: 2%; left: 35%; animation-delay: -3.1s; }

@keyframes rb-license-card-float { 0%,100% { transform: translate(-50%, -50%) rotate(-5deg) translate3d(0,0,34px); } 50% { transform: translate(-50%, calc(-50% - 9px)) rotate(-3deg) translate3d(0,0,42px); } }
@keyframes rb-license-module-float { 0%,100% { translate: 0 0; } 50% { translate: 0 -7px; } }
@keyframes rb-license-orbit-a { from { transform: translate(-50%,-50%) rotate(22deg); } to { transform: translate(-50%,-50%) rotate(382deg); } }
@keyframes rb-license-orbit-b { from { transform: translate(-50%,-50%) rotate(-32deg); } to { transform: translate(-50%,-50%) rotate(-392deg); } }
@keyframes rb-license-dot-pulse { 0%,100% { scale: .9; opacity: .75; } 50% { scale: 1.18; opacity: 1; } }
@keyframes rb-license-glow { from { opacity: .72; scale: .93; } to { opacity: 1; scale: 1.06; } }

@media (max-width: 1100px) {
    .rb-license-v2-layout { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 20px; }
    .rb-license-v2-module { width: 174px; }
    .rb-license-v2-card { width: min(72%,365px); }
}
@media (max-width: 900px) {
    .rb-license-section.rb-license-v2 { padding: 68px 0 76px; }
    .rb-license-v2-layout { grid-template-columns: 1fr; gap: 18px; }
    .rb-license-v2-copy { max-width: 720px; margin: 0 auto; text-align: center; }
    .rb-license-v2-copy > p { margin: 0 auto; }
    .rb-license-v2-points { justify-content: center; }
    .rb-license-v2-scene { width: min(100%, 670px); margin: 0 auto; }
}
@media (max-width: 600px) {
    .rb-license-section.rb-license-v2 { padding: 54px 0 62px; }
    .rb-license-v2-layout { gap: 13px; }
    .rb-license-v2-kicker { font-size: 10px; letter-spacing: .16em; }
    .rb-license-v2-copy h2 { margin: 16px 0 13px; font-size: clamp(34px, 9vw, 45px); line-height: 1.08; }
    .rb-license-v2-copy > p { max-width: 470px; font-size: 13px; line-height: 1.7; }
    .rb-license-v2-points { gap: 7px; margin: 19px 0 20px; }
    .rb-license-v2-points span { min-height: 38px; gap: 7px; padding: 0 10px; border-radius: 12px; font-size: 10px; }
    .rb-license-v2-points i { width: 23px; height: 23px; border-radius: 8px; font-size: 10px; }
    .rb-license-v2-cta { width: 100%; min-height: 53px; padding: 0 14px; border-radius: 14px; font-size: 12px; }
    .rb-license-v2-scene {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-content: start;
        gap: 9px;
        min-height: 0;
        margin-top: 18px;
        padding: 14px 0 0;
        overflow: hidden;
        border-radius: 22px;
    }
    .rb-license-v2-glow { top: 130px; width: 320px; }
    .rb-license-v2-ring-a { top: 130px; width: 355px; height: 245px; }
    .rb-license-v2-ring-b { top: 130px; width: 310px; height: 285px; }
    .rb-license-v2-dot-a { top: 42px; left: 12%; }
    .rb-license-v2-dot-b { top: 185px; right: 5%; }
    .rb-license-v2-dot-c { top: 229px; bottom: auto; left: 52%; }
    .rb-license-v2-card {
        position: relative;
        top: auto;
        left: auto;
        grid-column: 1 / -1;
        width: min(100%, 370px);
        margin: 0 auto 9px;
        padding: 19px 19px 16px;
        border-radius: 21px;
        transform: none;
        animation-name: rb-license-card-mobile;
    }
    .rb-license-v2-card-top { font-size: 8px; }
    .rb-license-v2-brand { margin: 16px 0 14px; }
    .rb-license-v2-brand > img { width: 42px; height: 42px; }
    .rb-license-v2-brand b { font-size: 15px; }
    .rb-license-v2-meta { margin: 8px 0; }
    .rb-license-v2-card-action { min-height: 38px; margin-top: 13px; }
    .rb-license-v2-module {
        position: relative;
        inset: auto;
        width: auto;
        min-height: 60px;
        gap: 8px;
        padding: 8px;
        border-radius: 14px;
        transform: none;
        animation-duration: 5.8s;
    }
    .rb-license-v2-module-icon { width: 33px; height: 33px; flex-basis: 33px; border-radius: 10px; font-size: 14px; }
    .rb-license-v2-module b { font-size: 10px; }
    .rb-license-v2-module small { margin-top: 3px; font-size: 8px; }
    .rb-license-v2-kiosk { grid-column: 1 / -1; justify-self: center; width: min(50%, 190px); }
}
@media (max-width: 360px) {
    .rb-license-v2-points { gap: 6px; }
    .rb-license-v2-points span { padding: 0 8px; font-size: 9px; }
    .rb-license-v2-module { gap: 6px; padding: 7px; }
    .rb-license-v2-module-icon { width: 29px; height: 29px; flex-basis: 29px; }
    .rb-license-v2-module b { font-size: 9px; }
}
@keyframes rb-license-card-mobile { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
@media (prefers-reduced-motion: reduce) {
    .rb-license-v2 *, .rb-license-v2 *::before, .rb-license-v2 *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
