/* Final4: Ritm is the product name. Existing provider/auth behavior is untouched. */
html[data-brand="ritm"] .rr-home .rr-actions{margin-bottom:17px}
html[data-brand="ritm"] .rr-home .rr-section{margin-top:18px}
html[data-brand="ritm"] .rr-home .rr-accounts .rr-account{min-height:56px;padding-block:9px}
html[data-brand="ritm"] .rr-home .rr-operations .op{border-bottom:0;border-top:1px solid #152135;min-height:52px}
html[data-brand="ritm"] .rr-home .rr-operations .op:first-child{border-top:0}
/* Small cards are genuine branded artwork, not generic wallet glyphs. */
html[data-brand="ritm"] .rr-account .rr-mini-card{position:relative;width:42px;height:28px;border-color:#3b3868;background:#050d23 url('assets/rhythm-wave-parity-v3.png') center/cover}
html[data-brand="ritm"] .rr-account .rr-mini-card>svg{display:none}
html[data-brand="ritm"] .rr-account .rr-mini-card::after{content:"";position:absolute;inset:3px;background:url('assets/rhythm-mark-alpha-v3.png') right center/24px 23px no-repeat}
html[data-brand="ritm"] .rr-card-tabs{margin-top:13px}
html[data-brand="ritm"] .rr-cards .rr-row-group .rr-row{min-height:43px;padding-block:10px}
html[data-brand="ritm"] .rr-cards .rr-section{margin-top:19px}
/* Keep transfer draft and primary action in one compact composition. */
html[data-brand="ritm"] .rr-transfer-tabs{margin:17px 0 20px}
html[data-brand="ritm"] .rr-transfer .rr-section{margin-top:17px;margin-bottom:9px}
html[data-brand="ritm"] .rr-phone-search{padding:10px 13px;min-height:64px}
html[data-brand="ritm"] .rr-phone-search input{min-height:25px;height:25px;line-height:25px;font-size:16px}
html[data-brand="ritm"] .rr-phone-search label{font-size:11px;margin-bottom:5px}
html[data-brand="ritm"] .rr-draft-field{margin-top:12px;padding:10px 13px}
html[data-brand="ritm"] .rr-draft-field>span{font-size:11px;margin-bottom:5px;line-height:15px}
html[data-brand="ritm"] .rr-draft-field input{height:24px;min-height:24px;line-height:24px;font-size:16px}
html[data-brand="ritm"] .rr-draft-amount input{font-size:25px;height:31px;line-height:31px}
html[data-brand="ritm"] .rr-draft-amount b{font-size:23px}
html[data-brand="ritm"] .rr-transfer .rr-primary{margin-top:16px;height:46px}
html[data-brand="ritm"] .rr-transfer-note{font-size:10px;margin:9px 0 19px}
html[data-brand="ritm"] .rr-transfer .rr-promo{height:117px}
/* Reference profile is a compact person/status stack, not another hero. */
html[data-brand="ritm"] .rr-profile-person{padding:14px 0 18px}
html[data-brand="ritm"] .rr-profile-person .rr-avatar{width:54px;height:54px;font-size:19px}
html[data-brand="ritm"] .rr-status{min-height:78px;padding:12px}
html[data-brand="ritm"] .rr-status>span:first-child{width:37px;height:37px}
html[data-brand="ritm"] .rr-profile .rr-section{margin-top:20px}
html[data-brand="ritm"] .rr-profile .rr-promo{height:110px}
html[data-brand="ritm"] .rr-profile .rr-row-group .rr-row{min-height:43px;padding-block:9px}
html[data-brand="ritm"] .rr-profile-footer{margin-top:18px}
/* Compact fields leave space for real available flight results below. */
.wallet-services[data-brand="ritm"] .sx-header{border-bottom:0!important;box-shadow:none!important}
.wallet-services[data-brand="ritm"] .sx-travel-tabs{margin-bottom:18px}
.wallet-services[data-brand="ritm"] .sx-airport-field{min-height:72px;height:auto;padding:11px 12px}
.wallet-services[data-brand="ritm"] .sx-airport-field strong{line-height:1.3;font-size:14px}
.wallet-services[data-brand="ritm"] .sx-field{min-height:68px;padding:10px 12px}
.wallet-services[data-brand="ritm"] .sx-field>span{font-size:11px;line-height:14px}
.wallet-services[data-brand="ritm"] .sx-field input,.wallet-services[data-brand="ritm"] .sx-field select{height:27px;min-height:27px;font-size:14px}
.wallet-services[data-brand="ritm"] .sx-empty{border:0!important;background:none!important;padding:22px 6px;font-size:12px;line-height:1.55}
.wallet-services[data-brand="ritm"] .sx-footer{margin-top:14px;padding-top:15px}
/* The assistant remains clearly unavailable; use calm service-card hierarchy. */
html[data-brand="ritm"] .rr-assistant-intro .rr-mark{width:80px;height:80px;margin:7px auto 16px}
html[data-brand="ritm"] .rr-assistant-intro{padding-bottom:18px}
html[data-brand="ritm"] .rr-assistant-intro p{font-size:14px;line-height:1.45;max-width:290px}
html[data-brand="ritm"] .rr-destination{padding:9px;gap:11px}
html[data-brand="ritm"] .rr-destination img{height:70px;width:63px}
html[data-brand="ritm"] .rr-assistant-prompts{gap:7px;margin:14px 0}
html[data-brand="ritm"] .rr-assistant-prompts button{font-size:11px;padding:8px 11px}
html[data-brand="ritm"] .rr-assistant-unavailable{margin:13px 0;font-size:11px;line-height:1.6}
html[data-brand="ritm"] .rr-assistant-composer{margin-top:24px}
/* One real identity mark on welcome, OTP, PIN and the actual loading state. */
.customer-brand[data-brand="ritm"] .customer-brand__mark img{display:block;width:100%;height:100%;object-fit:contain}
.welcome-rhythm__monogram img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 9px 24px #503dff66)}
html[data-brand="ritm"] .rr-boot{display:grid;place-items:center;background:radial-gradient(ellipse at 50% 40%,#111843 0%,#040b17 57%)}
.rr-boot-inner{width:min(100% - 48px,300px);text-align:center;padding-bottom:7vh}
.rr-boot-inner>img{width:115px;height:115px;object-fit:contain;filter:drop-shadow(0 0 20px #5436b966);margin-bottom:24px}
.rr-boot-inner h1{font-size:27px;letter-spacing:-.8px;font-weight:600;margin:0;color:#f5f7ff}
.rr-boot-inner h1>span{font-weight:400;color:#ac6bff}
.rr-boot-inner p{margin:14px 0 24px;color:#96aac7;font-size:13px;line-height:1.4}
.rr-load-line{display:block;position:relative;overflow:hidden;width:108px;height:2px;background:#243150;margin:auto;border-radius:2px}
.rr-load-line:after{content:"";position:absolute;width:40px;height:100%;left:0;background:linear-gradient(90deg,#9c42ef,#4ad9ff);animation:ritmLoading 1.4s ease-in-out infinite alternate}
@keyframes ritmLoading{to{transform:translateX(68px)}}
html[data-brand="ritm"] .rr-auth .lock{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%;max-width:480px;margin:0 auto;padding:calc(42px + env(safe-area-inset-top)) 20px 28px;text-align:center;overflow-y:auto;background:#040b17}
html[data-brand="ritm"] .rr-auth .lock>:is(.art,.haze,.bloom,.drift,.orb,.mist,.motes,.sheen){display:none}
html[data-brand="ritm"] .rr-auth .rr-auth-brand{width:53px;height:53px;flex:none;margin:7px 0 18px}
html[data-brand="ritm"] .rr-auth-brand img{display:block;width:100%;height:100%;object-fit:contain}
html[data-brand="ritm"] .rr-auth .back-abs{position:absolute;left:19px;top:calc(17px + env(safe-area-inset-top));width:40px;height:40px;display:grid;place-items:center;border:0;background:none;color:#b3c5df;margin:0}
html[data-brand="ritm"] .rr-auth .lock:not(.register-lock) h2{font-size:27px;line-height:1.2;letter-spacing:-.6px;margin:0;max-width:100%;text-align:center}
html[data-brand="ritm"] .rr-auth .lock:not(.register-lock) h2+p{font-size:14px;line-height:1.5;max-width:300px;margin:11px 0 22px;text-align:center;color:#9fb2d0}
html[data-brand="ritm"] .rr-auth .otp-cells{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;width:100%;max-width:294px;margin:3px auto 0;justify-content:center}
html[data-brand="ritm"] .rr-auth .otp-cells i{display:grid;place-items:center;width:100%;height:48px;margin:0;border:1px solid #2b3e5d;border-radius:11px;background:#0f1b30;color:#f4f6ff;font-size:22px;line-height:1;font-style:normal}
html[data-brand="ritm"] .rr-auth .otp-cells i.fill{border-color:#6859af;background:#172348}
html[data-brand="ritm"] .rr-auth .otp-status{width:100%;max-width:300px;min-height:34px;margin:10px auto 0;font-size:12px;text-align:center}
html[data-brand="ritm"] .rr-auth .keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px;width:100%;max-width:294px;margin:25px auto 0;padding:0;align-self:center;justify-items:center}
html[data-brand="ritm"] .rr-auth .keypad button{display:grid;place-items:center;width:68px;height:68px;min-height:68px;margin:0;padding:0;border:1px solid #1c2c49;border-radius:50%;background:#101c30;color:#eff5ff;font-size:28px;font-weight:400;line-height:1;box-shadow:none}
html[data-brand="ritm"] .rr-auth .keypad button.plain{border:0;background:none;color:#a7bcd8}
html[data-brand="ritm"] .rr-auth .keypad button svg{width:23px;height:23px}
html[data-brand="ritm"] .rr-auth .pin-alt{order:initial;margin:4px auto 0;font-size:13px;min-height:40px}
html[data-brand="ritm"] .rr-auth .dots{justify-content:center;gap:15px;margin:7px auto 0}
@media(max-width:350px){html[data-brand="ritm"] .rr-profile-person .rr-avatar{width:48px;height:48px;font-size:17px}html[data-brand="ritm"] .rr-profile-person strong{font-size:14px}html[data-brand="ritm"] .rr-auth .lock{padding-inline:17px}.wallet-services[data-brand="ritm"] .sx-airport-field strong{font-size:13px}}
@media(max-height:650px){html[data-brand="ritm"] .rr-auth .lock{padding-top:39px}html[data-brand="ritm"] .rr-auth .rr-auth-brand{width:38px;height:38px;margin:0 0 10px}html[data-brand="ritm"] .rr-auth .lock h2+p{margin-bottom:14px}html[data-brand="ritm"] .rr-auth .keypad{margin-top:15px;gap:10px 18px}html[data-brand="ritm"] .rr-auth .keypad button{width:57px;height:57px;min-height:57px}html[data-brand="ritm"] .rr-auth .otp-cells i{height:43px}}
@media(prefers-reduced-motion:reduce){.rr-load-line:after{animation:none;left:34px}}
