:root{--ink:#152937;--muted:#667883;--line:#dce5ea;--paper:#fff;--wash:#f2f6f9;--navy:#182943;--blue:#3565e8;--blue-dark:#244cb8;--cyan:#dff5fb;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;font-size:16px;line-height:1.6;background:linear-gradient(125deg,#fff 0,#f4f8fb 55%,#edf4fa 100%);color:var(--ink)}a{color:var(--blue-dark);text-underline-offset:.15em}img{display:block;max-width:100%;height:auto}button,input{font:inherit}.skip-link{position:fixed;z-index:30;top:.5rem;left:.5rem;padding:.7rem 1rem;transform:translateY(-160%);border-radius:.6rem;background:var(--ink);color:#fff}.skip-link:focus{transform:none}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #20a8df;outline-offset:3px}
.site-header{position:sticky;z-index:20;top:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;min-height:68px;padding:.75rem max(1.25rem,calc((100vw - 1180px)/2));border-bottom:1px solid rgba(220,229,234,.92);background:rgba(255,255,255,.94)}.brand{font-size:1.32rem;font-weight:850;color:var(--ink);text-decoration:none;white-space:nowrap}.main-nav{display:flex;align-items:center;gap:1.35rem}.main-nav a,.header-action{font-size:.9rem;font-weight:700;color:var(--ink);text-decoration:none}.header-action{padding:.55rem .85rem;border:1px solid var(--line);border-radius:.7rem;background:#fff}.pilot-label{padding:.28rem .55rem;border-radius:999px;background:var(--cyan);color:#24576b;font-size:.72rem;font-weight:800;white-space:nowrap}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:.45rem;max-width:1180px;margin:1.15rem auto 0;padding:0 1.25rem;color:var(--muted);font-size:.87rem}.breadcrumbs a{color:inherit}.page-header{max-width:1180px;margin:0 auto;padding:clamp(2.4rem,5vw,4.4rem) 1.25rem clamp(2rem,4vw,3.4rem)}.eyebrow{margin:0 0 .7rem;color:var(--blue-dark);font-size:.76rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}h1{max-width:22ch;margin:0;font-size:clamp(2.35rem,4vw,3.5rem);line-height:1.08;letter-spacing:-.035em}.lede{max-width:66ch;margin:1rem 0 0;color:var(--muted);font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.65}.meta{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin:1rem 0 0;color:var(--muted);font-size:.86rem}
.catalog-shell{max-width:1180px;margin:0 auto;padding:0 1.25rem 5rem}.catalog-hero{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:2rem;align-items:center;margin-bottom:1.5rem;padding:2rem;border-radius:1.35rem;background:linear-gradient(110deg,#18283f,#213964);color:#fff;overflow:hidden}.catalog-hero h2{max-width:28ch;margin:.5rem 0;font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.18}.catalog-hero p{max-width:62ch;margin:.5rem 0 0;color:#c7d4e6}.hero-mark{display:grid;place-items:center;width:130px;height:130px;margin:auto;border:1px solid rgba(255,255,255,.22);border-radius:1.4rem;background:rgba(255,255,255,.08);font-size:3rem}.catalog-tools{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:1rem;align-items:center;margin:1.25rem 0}.search-label{position:relative}.search-label span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.search-label input{width:100%;min-height:48px;padding:.7rem 1rem;border:1px solid var(--line);border-radius:.75rem;background:#fff;color:var(--ink)}.filters{display:flex;flex-wrap:wrap;gap:.55rem}.filters button{min-height:44px;padding:.55rem .85rem;border:1px solid var(--line);border-radius:.7rem;background:#fff;color:#4d5f69;font-weight:700}.filters .active{border-color:var(--blue);background:var(--blue);color:#fff}.catalog-note{margin:0 0 1.2rem;color:var(--muted);font-size:.86rem}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.product-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:1rem;background:#fff;overflow:hidden;box-shadow:0 14px 38px rgba(27,62,83,.07)}.product-visual{min-height:170px;padding:1.25rem;background:linear-gradient(135deg,#2e9daf,#1e6780);color:#fff}.product-card:nth-child(2n) .product-visual{background:linear-gradient(135deg,#426ae5,#342abb)}.product-card:nth-child(3n) .product-visual{background:linear-gradient(135deg,#255f85,#172e4d)}.visual-top{display:flex;justify-content:space-between;gap:1rem;font-size:.78rem}.tag{padding:.25rem .55rem;border-radius:999px;background:rgba(255,255,255,.18);font-weight:750}.product-visual strong{display:block;margin-top:4rem;font-size:1.35rem}.product-content{display:flex;flex:1;flex-direction:column;padding:1.2rem}.author-row{display:flex;align-items:center;gap:.65rem;margin-bottom:.8rem;color:var(--muted);font-size:.78rem}.avatar{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--wash);color:#40545f;font-weight:800}.author-row strong{display:block;color:var(--ink);font-size:.88rem}.product-content h2{margin:0;font-size:1.22rem;line-height:1.3}.product-content h2 a{color:var(--ink);text-decoration:none}.product-content p{margin:.65rem 0 1rem;color:var(--muted);font-size:.92rem}.card-footer{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:auto;padding-top:1rem;border-top:1px solid var(--line)}.card-footer strong{font-size:1.05rem}.card-link{font-size:.88rem;font-weight:800;text-decoration:none}
.detail-layout{display:grid;grid-template-columns:minmax(0,720px) minmax(260px,310px);gap:clamp(2.4rem,6vw,5rem);align-items:start;max-width:1180px;margin:0 auto;padding:0 1.25rem 5rem}.detail-main{min-width:0}.package-cover{min-height:220px;padding:1.5rem;border-radius:1.2rem 1.2rem 0 0;background:linear-gradient(125deg,#416ce6,#342bb6);color:#fff}.package-cover .cover-count{display:block;margin-top:5rem;font-size:2rem;font-weight:850}.package-intro{padding:2rem;border:1px solid var(--line);border-top:0;border-radius:0 0 1.2rem 1.2rem;background:#fff}.package-intro h1{font-size:clamp(2rem,3.6vw,3rem)}.author-inline{display:flex;align-items:center;gap:.75rem;margin-top:1.3rem}.author-inline strong{display:block}.author-inline span{color:var(--muted);font-size:.8rem}.content-section{padding:2rem 0;border-bottom:1px solid var(--line);scroll-margin-top:6rem}.content-section h2{margin:0 0 1rem;font-size:clamp(1.55rem,2.5vw,2rem);line-height:1.22}.content-section p{max-width:70ch;color:var(--muted)}.contents-list{display:grid;gap:.7rem;margin:1.2rem 0 0;padding:0;list-style:none;counter-reset:letters}.contents-list li{counter-increment:letters;display:grid;grid-template-columns:2.2rem 1fr;gap:.8rem;align-items:center;padding:.85rem;border:1px solid var(--line);border-radius:.75rem;background:#fff}.contents-list li::before{content:counter(letters);display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:.55rem;background:#f0f4ff;color:var(--blue);font-weight:850}.contents-list strong{display:block}.contents-list span{color:var(--muted);font-size:.8rem}.side-card{position:sticky;top:6rem;padding:1.35rem;border:1px solid var(--line);border-radius:1rem;background:#fff;box-shadow:0 18px 50px rgba(21,57,74,.09)}.side-card h2{margin:0 0 .9rem;font-size:1.3rem}.facts{display:grid;gap:.7rem;margin:1rem 0}.facts div{padding-bottom:.7rem;border-bottom:1px solid var(--line)}.facts dt{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.facts dd{margin:.2rem 0 0;font-weight:700}.price{display:block;margin:1rem 0;font-size:1.8rem}.button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:.7rem 1rem;border:1px solid var(--blue);border-radius:.72rem;background:var(--blue);color:#fff;font-weight:800;text-align:center;text-decoration:none}.button:hover{background:var(--blue-dark)}.button:disabled{border-color:#a8b6be;background:#a8b6be;cursor:not-allowed}.fine-print{margin:.7rem 0 0;color:var(--muted);font-size:.77rem;line-height:1.45}
.author-layout{display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr);gap:clamp(2.5rem,6vw,5rem);max-width:1180px;margin:0 auto;padding:0 1.25rem 5rem}.profile-card{padding:1.5rem;border:1px solid var(--line);border-radius:1rem;background:#fff}.profile-avatar{display:grid;place-items:center;width:112px;height:112px;border-radius:50%;background:linear-gradient(135deg,#dceeff,#cfe8ef);color:#275373;font-size:2rem;font-weight:850}.profile-card h1{margin-top:1.2rem;font-size:2rem}.handle{margin:.2rem 0;color:var(--muted)}.bio{margin:1.2rem 0;color:#40545f}.topics{display:flex;flex-wrap:wrap;gap:.45rem}.topics span{padding:.3rem .6rem;border:1px solid var(--line);border-radius:999px;color:#50636e;font-size:.78rem}.author-content h2{margin:.3rem 0 1rem;font-size:2rem}.empty-state{padding:3rem 1.5rem;border:1px dashed #cbd9e0;border-radius:1rem;background:#fff;color:var(--muted);text-align:center}.profile-note{margin-top:1rem;padding:1rem;border-radius:.8rem;background:#fff8e3;color:#624d1f;font-size:.86rem}
.site-footer{display:flex;justify-content:space-between;gap:2rem;padding:2rem max(1.25rem,calc((100vw - 1180px)/2));border-top:1px solid var(--line);background:#eef4f7;color:var(--muted);font-size:.85rem}.site-footer strong{color:var(--ink)}.site-footer p{margin:.35rem 0 0}.site-footer nav{display:flex;flex-wrap:wrap;gap:.65rem 1.1rem}.site-footer nav a{color:var(--ink);text-decoration:none}
@media(max-width:850px){.site-header{grid-template-columns:1fr auto;gap:.75rem}.main-nav{grid-column:1/-1;order:3;overflow-x:auto;white-space:nowrap}.detail-layout{display:flex;flex-direction:column}.detail-main{order:2;width:100%}.side-card{position:static;order:1;width:100%;box-shadow:none}.author-layout{grid-template-columns:1fr}.profile-card{display:grid;grid-template-columns:auto 1fr;gap:0 1.2rem}.profile-card h1{align-self:end;margin:.5rem 0 0}.profile-avatar{grid-row:1/4}.bio,.topics,.profile-note{grid-column:1/-1}.catalog-tools{grid-template-columns:1fr}.filters{display:grid;grid-template-columns:repeat(4,1fr)}}
@media(max-width:600px){.site-header{position:static;padding:.8rem 1rem}.main-nav{gap:1rem}.pilot-label{display:none}.breadcrumbs{padding-inline:1rem}.page-header{padding:2.2rem 1rem}.catalog-shell,.detail-layout,.author-layout{padding-left:1rem;padding-right:1rem}.catalog-hero{grid-template-columns:1fr;padding:1.3rem}.hero-mark{display:none}.filters{grid-template-columns:1fr 1fr}.product-grid{grid-template-columns:1fr}.product-visual{min-height:150px}.package-cover{min-height:190px}.package-intro{padding:1.3rem}.package-intro h1{font-size:2rem}.profile-card{display:block}.profile-avatar{width:92px;height:92px}.author-content h2{font-size:1.65rem}.site-footer{flex-direction:column;padding:1.5rem 1rem}}
@media(max-width:360px){.filters{grid-template-columns:1fr}.header-action{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Cookie consent: visual language of the main portal */
.cookie-consent[hidden],.cookie-consent__settings[hidden]{display:none}.cookie-consent{position:fixed;z-index:90;left:clamp(.75rem,2vw,1.5rem);right:clamp(.75rem,2vw,1.5rem);bottom:clamp(.75rem,2vw,1.5rem);width:min(1080px,calc(100% - 1.5rem));margin-inline:auto;padding:1.15rem 1.25rem;border:1px solid #dce4ee;border-radius:8px;background:#fbfcff;box-shadow:0 8px 28px rgb(61 84 116/10%);color:#17243a}.cookie-consent__summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.75rem;align-items:center}.cookie-consent__eyebrow{margin:0 0 .2rem;color:#3579eb;font-size:.7rem;font-weight:700;letter-spacing:.065em;text-transform:uppercase}.cookie-consent h2{margin:0 0 .25rem;font-size:clamp(1.22rem,2vw,1.55rem);font-weight:750;line-height:1.2;letter-spacing:-.018em}.cookie-consent p:not(.cookie-consent__eyebrow){max-width:72ch;margin:0;color:#64748b;font-size:.88rem;line-height:1.5}.cookie-consent p a{color:#41699c;text-decoration-color:#b8c8dd}.cookie-consent__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;max-width:380px}.cookie-consent .button{width:auto;min-height:40px;padding:.5rem .85rem;border-radius:8px;font-size:.86rem;font-weight:700;cursor:pointer}.cookie-consent .button-primary{border-color:#4d84e8;background:#4d84e8}.cookie-consent .button-primary:hover{border-color:#3d72d2;background:#3d72d2}.cookie-consent .button-secondary{border-color:#cfdae8;background:#f5f8fd;color:#344761}.cookie-consent .button-secondary:hover{border-color:#b9c9dd;background:#edf3fb}.cookie-consent__settings-link{border:0;padding:.45rem;background:transparent;color:#41699c;font-size:.84rem;font-weight:650;text-decoration:none;cursor:pointer}.cookie-consent__settings-link:hover{color:#2f5d98;text-decoration:underline;text-underline-offset:.18em}.cookie-consent__settings{margin-top:.9rem;padding-top:.9rem;border-top:1px solid #e3e9f1}.cookie-consent__option{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.45rem;padding:.65rem .75rem;border:1px solid #e4eaf2;border-radius:8px;background:#f6f9fd}.cookie-consent__option strong,.cookie-consent__option span{display:block}.cookie-consent__option strong{font-size:.88rem;font-weight:700}.cookie-consent__option span span{margin-top:.1rem;color:#748297;font-size:.78rem}.cookie-consent__option input{width:1.1rem;height:1.1rem;accent-color:#4d84e8}.cookie-consent__required{flex:none;color:#52719b;font-size:.76rem;font-weight:650}.cookie-consent button:focus-visible,.cookie-consent input:focus-visible{outline:2px solid rgb(77 132 232/32%);outline-offset:2px}
@media(max-width:600px){.cookie-consent{left:.65rem;right:.65rem;bottom:.65rem;width:auto;max-height:calc(100dvh - 1.3rem);overflow:auto;padding:.9rem}.cookie-consent__summary{grid-template-columns:1fr;gap:.85rem}.cookie-consent__actions{display:grid;grid-template-columns:1fr 1fr;max-width:none}.cookie-consent__settings-link{grid-column:1/-1}.cookie-consent__option{align-items:flex-start}}

/* Главная и платформа */
.home-hero{max-width:1280px;min-height:620px;margin:0 auto;padding:clamp(3rem,6vw,5.5rem) clamp(1.25rem,5vw,4.5rem);border-radius:0 0 1.5rem 1.5rem;background-color:#f4f8fb;background-image:url('ritmik-zastavka.jpg');background-position:center;background-size:cover}.home-copy{max-width:49%}.home-copy h1{max-width:17ch;font-size:clamp(2.65rem,3.8vw,3.65rem)}.home-copy .lede{max-width:590px}.home-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.home-actions .button{width:auto;min-width:170px}.button-secondary{border-color:var(--line);background:rgba(255,255,255,.92);color:var(--ink)}.button-secondary:hover{background:#fff}.marketplace-entry{display:inline-flex;margin-top:1rem;font-weight:800;text-decoration:none}.home-features{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:1180px;margin:0 auto;padding:2rem 1.25rem 5rem}.capability-card{padding:1.15rem 1.2rem;border:1px solid var(--line);border-radius:1rem;background:#fff}.capability-card h2{margin:0 0 .45rem;font-size:1.12rem}.capability-card p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.5}
.platform-hero{display:grid;grid-template-columns:minmax(0,620px) minmax(320px,1fr);gap:clamp(2rem,6vw,5rem);align-items:start;max-width:1180px;margin:0 auto;padding:2.25rem 1.25rem 3.5rem}.platform-hero h1{max-width:19ch}.hero-support{margin-top:1.1rem;color:var(--muted);font-size:.92rem}.sync-visual{padding:1.2rem;border-radius:1.2rem;background:var(--navy);color:#fff;box-shadow:0 28px 70px rgba(21,41,64,.2)}.sync-visual__header{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem;font-size:.82rem}.sync-visual__header span{color:#aee7d8}.sync-visual>p{margin:.9rem 0 0;color:#cbd8e7;font-size:.82rem}.sync-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}.sync-grid span{padding:.8rem;border:1px solid rgba(255,255,255,.18);border-radius:.7rem;background:rgba(255,255,255,.07);color:#dbe7f7;font-size:.86rem}.sync-grid strong{display:block;color:#fff}.sync-grid .sync-core{grid-column:1/-1;border-color:#7194ff;background:#416ce6;text-align:center}.platform-body{display:grid;grid-template-columns:minmax(0,1fr) 220px;grid-template-areas:'flow jump';gap:2.25rem;max-width:1320px;margin:0 auto;padding:0 1.5rem}.platform-flow{grid-area:flow;min-width:0}.platform-jump{grid-area:jump;position:sticky;z-index:10;top:92px;display:flex;flex-direction:column;align-self:start;gap:.25rem;margin:2rem 0;padding:1.1rem;border:1px solid var(--line);border-radius:1rem;background:#fff;box-shadow:none}.platform-jump strong{margin-bottom:.5rem}.platform-jump a{padding:.45rem .55rem;border-radius:.45rem;font-size:.86rem;font-weight:700;text-decoration:none}.platform-jump a:hover{background:var(--wash)}.platform-section{margin:0;padding:2.25rem 0 3.5rem;border-bottom:1px solid var(--line);scroll-margin-top:5.5rem}.platform-section>h2,.platform-split h2{max-width:26ch;margin:.5rem 0 1.2rem;font-size:clamp(1.9rem,3vw,2.65rem);line-height:1.14;letter-spacing:-.03em}.platform-intro,.platform-split p{max-width:72ch;color:var(--muted);font-size:1.08rem}.platform-caption{color:var(--muted)}.platform-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:2rem 0;padding:0;list-style:none;counter-reset:steps}.platform-steps li{counter-increment:steps;padding:1rem;border:1px solid var(--line);border-radius:.85rem;background:#fff}.platform-steps li::before{content:counter(steps,decimal-leading-zero);display:block;margin-bottom:.7rem;color:var(--blue);font-weight:850}.platform-steps strong,.platform-steps span{display:block}.platform-steps span{margin-top:.35rem;color:var(--muted);font-size:.87rem}.platform-split{display:grid;grid-template-columns:1fr;gap:2rem}.platform-split--reverse>div,.platform-split--reverse>figure{order:initial}.platform-split ul{padding-left:1.3rem}.platform-placeholder{display:grid;place-items:center;min-height:260px;padding:1.5rem;border:1px dashed #8faeba;border-radius:1.2rem;background:linear-gradient(145deg,#edf4f8,#e8f0ff);color:#617783;text-align:left}.platform-placeholder figcaption{display:grid;gap:.55rem}.platform-placeholder strong{display:block;color:var(--ink);font-size:1.15rem}.platform-placeholder span,.platform-placeholder small{display:block}.platform-placeholder code,.platform-mini-placeholder code{color:#315fcc;font-size:.78rem}.platform-placeholder--wide{margin-top:1.5rem;min-height:220px}.platform-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}.platform-trio article{padding:1.1rem;border:1px solid var(--line);border-radius:1rem;background:#fff}.platform-trio h3{margin:.8rem 0 .4rem;font-size:1.2rem}.platform-trio p{margin:.5rem 0;color:var(--muted)}.platform-mini-placeholder{display:flex;flex-direction:column;justify-content:center;gap:.35rem;min-height:145px;padding:.8rem;border:1px dashed #aec0ca;border-radius:.7rem;background:#edf4f8;color:#71848e;font-size:.78rem}.platform-mini-placeholder strong{color:var(--ink)}.visual-seo-note{color:var(--muted);font-size:.82rem}.platform-number{color:var(--blue)!important;font-size:.8rem!important;font-weight:850;letter-spacing:.08em}.platform-start{margin-top:3rem;margin-bottom:4rem;padding-inline:2rem;border:0;border-radius:1.3rem;background:var(--navy);color:#fff}.platform-start p{max-width:68ch;color:#cbd8e7}.platform-start .button-secondary{border-color:#fff}.library-links{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.library-related{padding:1rem;border:1px solid var(--line);border-radius:.8rem;background:#fff;text-decoration:none;font-weight:700}
@media(max-width:1000px){.platform-body{display:block;padding:0}.platform-jump{position:sticky;top:68px;display:flex;flex-direction:row;gap:.8rem;margin:0;padding:.8rem 1.25rem;overflow-x:auto;border-inline:0;border-radius:0;white-space:nowrap}.platform-jump strong{margin:0}.platform-flow{padding:0 1.25rem}.platform-section{scroll-margin-top:8.5rem}}
@media(max-width:900px){.platform-hero{grid-template-columns:1fr;min-height:auto}.home-hero{min-height:0;background-image:none}.home-copy{max-width:none}.home-features{grid-template-columns:1fr}.platform-trio{grid-template-columns:1fr}.platform-steps{grid-template-columns:repeat(2,1fr)}.platform-split{grid-template-columns:1fr}.platform-split--reverse>div,.platform-split--reverse>figure{order:initial}.platform-placeholder{min-height:240px}}
@media(max-width:600px){.home-hero,.platform-hero{padding:2.5rem 1rem}.home-copy h1{font-size:clamp(2.35rem,11vw,3.1rem)}.home-visual{min-height:330px}.rhythm-core{width:160px;height:160px}.rhythm-ring{width:285px;height:285px}.rhythm-node{padding:.5rem .65rem;font-size:.78rem}.home-support,.platform-section{padding-left:1rem;padding-right:1rem}.home-actions{display:grid}.home-actions .button{width:100%}.platform-steps{grid-template-columns:1fr}.platform-jump{top:0;margin-bottom:0}.platform-section{scroll-margin-top:4.5rem}.site-header .header-action{display:inline-flex}}
.platform-hero-placeholder{min-height:430px;background:linear-gradient(145deg,#edf4f8,#e8f0ff)}
@media(max-width:900px){.platform-hero-placeholder{min-height:280px}}
.platform-section .eyebrow{display:block;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:none;color:var(--blue);font-size:.82rem;font-weight:850;line-height:normal;letter-spacing:.08em;text-transform:uppercase}.platform-section .eyebrow+h2{margin-top:.6rem}.platform-start .eyebrow{color:#aebfff}

/* Дочерние страницы платформы */
.feature-hero{display:grid;grid-template-columns:minmax(0,650px) minmax(300px,1fr);gap:clamp(2rem,6vw,5rem);align-items:start;max-width:1180px;margin:0 auto;padding:2.25rem 1.25rem 3.5rem}.feature-hero h1{max-width:18ch}.feature-body{display:grid;grid-template-columns:minmax(0,1fr) 220px;grid-template-areas:'content jump';gap:2.25rem;max-width:1120px;margin:0 auto;padding:0 1.5rem 4rem}.feature-content{grid-area:content;min-width:0}.feature-jump{grid-area:jump;position:sticky;top:92px;align-self:start;display:flex;flex-direction:column;gap:.2rem;margin-top:2rem;padding:1rem;border:1px solid var(--line);border-radius:1rem;background:#fff}.feature-jump strong{margin-bottom:.45rem}.feature-jump a{padding:.42rem .5rem;border-radius:.45rem;font-size:.84rem;font-weight:700;text-decoration:none}.feature-jump a:hover{background:var(--wash)}.feature-section{padding:2.25rem 0 3rem;border-bottom:1px solid var(--line);scroll-margin-top:5.5rem}.feature-section .eyebrow{margin:0;color:var(--blue);font-size:.82rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.feature-section h2{max-width:26ch;margin:.6rem 0 1.1rem;font-size:clamp(1.8rem,3vw,2.45rem);line-height:1.14;letter-spacing:-.03em}.feature-section p{max-width:70ch;color:var(--muted);font-size:1.06rem}.feature-placeholder{display:grid;place-items:center;min-height:320px;padding:1.5rem;border:1px dashed #8faeba;border-radius:1.2rem;background:linear-gradient(145deg,#edf4f8,#e8f0ff);color:#617783}.feature-placeholder figcaption{display:grid;gap:.55rem;max-width:42ch}.feature-placeholder strong{color:var(--ink);font-size:1.15rem}.feature-placeholder span,.feature-placeholder small{display:block}.feature-placeholder code{color:#315fcc}.feature-next{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.feature-next a{padding:1rem;border:1px solid var(--line);border-radius:.8rem;background:#fff;color:var(--ink);font-weight:750;text-decoration:none}.feature-next a:hover{border-color:#aabce8;background:#f7f9ff}.feature-note{margin-top:1rem;color:var(--muted);font-size:.82rem}
@media(max-width:1000px){.feature-body{display:block;padding:0 1.25rem 4rem}.feature-jump{position:sticky;z-index:9;top:68px;flex-direction:row;margin:0 -1.25rem;padding:.75rem 1.25rem;overflow-x:auto;border-inline:0;border-radius:0;white-space:nowrap}.feature-jump strong{margin:0}.feature-section{scroll-margin-top:8.5rem}}
@media(max-width:900px){.feature-hero{grid-template-columns:1fr}.feature-placeholder{min-height:240px}}
@media(max-width:600px){.feature-hero{padding:2rem 1rem 2.5rem}.feature-body{padding-inline:1rem}.feature-jump{margin-inline:-1rem;padding-inline:1rem}.feature-next{grid-template-columns:1fr}}
.context-links{display:flex;flex-wrap:wrap;gap:.55rem 1rem;margin-top:1.15rem}.context-links a,.platform-trio h3 a{color:var(--blue-dark);font-weight:800;text-decoration:none}.context-links a:hover,.platform-trio h3 a:hover{text-decoration:underline;text-underline-offset:.18em}.feature-hero .home-actions .button-secondary{background:#fff}
.solutions-shell{max-width:1180px;margin:0 auto;padding:0 1.25rem 5rem}.solutions-intro{max-width:70ch;margin-bottom:1.5rem;color:var(--muted);font-size:1.05rem}.solutions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.solution-card{display:flex;flex-direction:column;padding:1.35rem;border:1px solid var(--line);border-radius:1rem;background:#fff}.solution-card .eyebrow{margin:0 0 .65rem}.solution-card h2{margin:0 0 .65rem;font-size:1.45rem;line-height:1.2}.solution-card p{margin:0 0 1.2rem;color:var(--muted)}.solution-card a{margin-top:auto;font-weight:800;text-decoration:none}.solution-card a:hover{text-decoration:underline;text-underline-offset:.18em}.solution-fit{margin-top:1rem;padding:1rem;border-left:3px solid var(--blue);background:#f6f8fe;color:var(--muted)}
@media(max-width:700px){.solutions-grid{grid-template-columns:1fr}}

/* Единый компактный подвал */
.site-footer,
body[data-page-kind="home"] .site-footer{
  display:flex;
  min-height:58px;
  align-items:center;
  justify-content:space-between;
  gap:.75rem 1.25rem;
  padding:.65rem max(1.25rem,calc((100vw - 1180px)/2));
  border-top:1px solid var(--line);
  background:#eef4f7;
  color:var(--muted);
  font-size:.76rem;
}
.site-footer>div,
body[data-page-kind="home"] .site-footer>div{display:flex;align-items:center;gap:.45rem;white-space:nowrap}
.site-footer>div p,
body[data-page-kind="home"] .site-footer>div p{margin:0}
.site-footer .brand-footer,.site-footer>div strong{color:var(--ink);font-size:.8rem;font-weight:850;text-decoration:none}
.site-footer nav,
body[data-page-kind="home"] .site-footer nav{display:flex;flex:1;justify-content:center;gap:.4rem 1rem}
.site-footer a,.site-footer nav a{color:var(--ink);font-size:.76rem;white-space:nowrap;text-decoration:none}
.site-footer a:hover{text-decoration:underline;text-underline-offset:.18em}
.site-footer>p,.site-footer>span,
body[data-page-kind="home"] .site-footer>p{margin:0;white-space:nowrap}
@media(max-width:900px){
  .site-footer,body[data-page-kind="home"] .site-footer{flex-wrap:wrap;justify-content:flex-start;padding:.8rem 1rem}
  .site-footer nav,body[data-page-kind="home"] .site-footer nav{order:3;flex-basis:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:.15rem}
}
@media(max-width:560px){
  .site-footer>div,body[data-page-kind="home"] .site-footer>div{white-space:normal}
  .site-footer nav,body[data-page-kind="home"] .site-footer nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}
}

/* Единое меню по образцу главной */
.site-header{
  position:sticky;
  z-index:20;
  top:0;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:2rem;
  min-height:68px;
  padding:.75rem max(1.25rem,calc((100vw - 1180px)/2));
  border-bottom:1px solid rgba(220,229,234,.92);
  background:rgba(255,255,255,.94);
}
.site-header .brand{font-size:1.32rem;font-weight:850;color:var(--ink);text-decoration:none;white-space:nowrap}
.site-header .main-nav{display:flex;align-items:center;gap:1.35rem}
.site-header .main-nav a,.site-header .header-action,.site-header .header-login{font-size:.9rem;font-weight:700;color:var(--ink);text-decoration:none;white-space:nowrap}
.site-header .header-action,.site-header .header-login{padding:.55rem .85rem;border:1px solid var(--line);border-radius:.7rem;background:#fff}
@media(max-width:850px){
  .site-header{grid-template-columns:1fr auto;gap:.75rem}
  .site-header .main-nav{grid-column:1/-1;order:3;overflow-x:auto;padding-bottom:.25rem;white-space:nowrap}
}
@media(max-width:600px){.site-header{position:static;padding:.8rem 1rem}.site-header .main-nav{gap:1rem}}

/* Тарифы */
.pricing-shell{max-width:1180px;margin:0 auto;padding:0 1.25rem 5rem}
.pricing-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:2.5rem;counter-reset:pricing-step}
.pricing-step{counter-increment:pricing-step;padding:1.25rem;border:1px solid var(--line);border-radius:1rem;background:#fff}
.pricing-step::before{content:counter(pricing-step,decimal-leading-zero);display:block;margin-bottom:.8rem;color:var(--blue);font-size:.82rem;font-weight:850;letter-spacing:.08em}
.pricing-step h2{margin:0 0 .55rem;font-size:1.3rem;line-height:1.25}
.pricing-step p{margin:0;color:var(--muted);font-size:.94rem}
.pricing-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:1.25rem;align-items:start}
.pricing-card,.pricing-note{padding:1.5rem;border:1px solid var(--line);border-radius:1rem;background:#fff}
.pricing-card{border-color:#9bb2f3;box-shadow:0 16px 44px rgba(45,88,184,.09)}
.pricing-card__top{display:flex;justify-content:space-between;gap:1rem;align-items:start}
.pricing-card h2,.pricing-note h2{margin:0 0 .7rem;font-size:clamp(1.55rem,2.5vw,2rem);line-height:1.2}
.pricing-badge{padding:.3rem .65rem;border-radius:999px;background:#eef3ff;color:var(--blue-dark);font-size:.76rem;font-weight:800;white-space:nowrap}
.pricing-price{margin:.8rem 0 1.15rem;color:var(--ink);font-size:1rem}
.pricing-price strong{font-size:clamp(2rem,4vw,3rem);line-height:1}
.pricing-list{display:grid;gap:.7rem;margin:0;padding:0;list-style:none}
.pricing-list li{position:relative;padding-left:1.5rem;color:var(--muted)}
.pricing-list li::before{content:'✓';position:absolute;left:0;color:#159b72;font-weight:900}
.pricing-periods{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.25rem}
.pricing-periods span{padding:.45rem .65rem;border:1px solid var(--line);border-radius:.65rem;background:var(--soft);font-size:.82rem;font-weight:700}
.pricing-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.4rem}
.pricing-actions .button{width:auto;min-width:190px}
.pricing-note p{color:var(--muted)}
.pricing-warning{margin-top:1rem;padding:1rem;border-left:3px solid #d29126;background:#fff8e8;color:#69552e;font-size:.88rem}
@media(max-width:850px){.pricing-flow,.pricing-grid{grid-template-columns:1fr}}
@media(max-width:600px){.pricing-shell{padding-inline:1rem}.pricing-card__top{display:block}.pricing-badge{display:inline-block;margin-bottom:.8rem}.pricing-actions .button{width:100%}}

body.auth-open { overflow: hidden; }
.auth-dialog[hidden] { display: none; }
.auth-dialog { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 1rem; }
.auth-dialog__backdrop { position: absolute; inset: 0; background: rgba(13, 28, 42, .62); backdrop-filter: blur(5px); }
.auth-panel { position: relative; z-index: 1; width: min(100%, 430px); max-height: calc(100dvh - 2rem); overflow: auto; padding: 1.6rem; border: 1px solid rgba(255,255,255,.68); border-radius: 24px; background: rgba(255,255,255,.97); box-shadow: 0 26px 80px rgba(13,28,42,.28); color: var(--ink); }
.auth-panel h2 { margin: 0 2rem .4rem 0; font-size: clamp(1.5rem, 4vw, 2rem); }
.auth-panel > p { margin: 0 0 1rem; color: var(--muted); }
.auth-close { position: absolute; top: .9rem; right: .9rem; width: 2.3rem; height: 2.3rem; border: 0; border-radius: 50%; background: #eef3f6; color: var(--ink); font: inherit; font-size: 1.5rem; cursor: pointer; }
.auth-form { display: grid; gap: .75rem; }
.auth-form label, .auth-field { display: grid; gap: .35rem; font-size: .88rem; font-weight: 700; }
.auth-form input { width: 100%; min-height: 44px; padding: .7rem .8rem; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink); font: inherit; box-sizing: border-box; }
.auth-form input:focus-visible, .auth-close:focus-visible { outline: 3px solid rgba(0,124,146,.23); outline-offset: 2px; }
.auth-label-row { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; }
.auth-label-row a { color: var(--brand); font-size: .82rem; }
.auth-form-feedback { margin: 0; padding: .65rem .75rem; border-radius: .6rem; background: #fff0f0; color: #9b2525; font-size: .85rem; }
.auth-form-feedback[hidden] { display: none; }
@media (max-width: 620px) { .auth-panel { padding: 1.25rem; border-radius: 18px; } }
/* Login modal aligned with the portal login form. */
.auth-panel.ritm-form-container { width: min(420px, 100%); padding: 40px; border-radius: 8px; }
.auth-panel.ritm-form-container .ritm-form-header { text-align: center; margin-bottom: 30px; }
.auth-panel.ritm-form-container .ritm-form-header h2 { color: var(--ink); margin: 0 0 10px; font-size: 24px; font-weight: 700; line-height: 1.3; }
.auth-panel.ritm-form-container .ritm-form-header p { color: #64748b; margin: 0; font-size: 15px; line-height: 1.5; }
.auth-panel.ritm-form-container .ritm-form { display: block; }
.auth-panel.ritm-form-container .form-group { gap: 8px; margin-bottom: 20px; display: grid; color: var(--ink); font-size: 14px; font-weight: 600; }
.auth-panel.ritm-form-container .form-group > span { display: block; }
.auth-panel.ritm-form-container .one-rhythm-required-mark { display: inline; color: #b91c1c; }
.auth-panel.ritm-form-container .one-rhythm-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.auth-panel.ritm-form-container .form-input { box-sizing: border-box; width: 100%; min-height: 0; padding: 12px 16px; border: 1.5px solid #cbd5e1; border-radius: 8px; background: #f8fafc; color: var(--ink); font: inherit; transition: border-color .3s, background-color .3s, box-shadow .3s; }
.auth-panel.ritm-form-container .form-input:focus { border-color: #0066ff; background: #fff; outline: none; box-shadow: 0 0 0 4px #0066ff1a; }
.auth-panel.ritm-form-container .ritm-password-label-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; width: 100%; }
.auth-panel.ritm-form-container .ritm-auth-forgot-link { color: #0066ff; white-space: nowrap; margin-left: auto; font-size: 13px; font-weight: 600; text-decoration: none; }
.auth-panel.ritm-form-container .ritm-auth-forgot-link:hover, .auth-panel.ritm-form-container .ritm-auth-forgot-link:focus-visible { text-decoration: underline; }
.auth-panel.ritm-form-container .ritm-cta-button { width: 100%; margin-top: 10px; padding: 16px; border: 0; border-radius: 8px; background: #0066ff; color: #fff; font-size: 16px; font-weight: 700; cursor: pointer; box-shadow: 0 4px 12px #06f3; transition: background-color .2s, transform .1s; }
.auth-panel.ritm-form-container .ritm-cta-button:hover:not(:disabled) { background: #0052cc; }
.auth-panel.ritm-form-container .ritm-cta-button:active:not(:disabled) { transform: scale(.98); }
.auth-panel.ritm-form-container .ritm-auth-feedback { margin: 12px 0 0; color: #b91c1c; line-height: 1.5; }
.auth-panel.ritm-form-container .ritm-auth-policy-note { margin: 10px 0 0; color: #64748b; font-size: .82rem; line-height: 1.45; }
.auth-panel.ritm-form-container .ritm-auth-policy-note a { color: #1d4ed8; text-decoration: underline; text-underline-offset: 2px; }
.auth-panel.ritm-form-container .ritm-auth-helper { margin-top: 20px; color: #64748b; text-align: center; font-size: 14px; }
.auth-panel.ritm-form-container .ritm-auth-helper a { color: #0066ff; font-weight: 700; text-decoration: none; }
.auth-panel.ritm-form-container .ritm-auth-helper a:hover, .auth-panel.ritm-form-container .ritm-auth-helper a:focus-visible { text-decoration: underline; }
@media (max-width: 620px) { .auth-panel.ritm-form-container { padding: 28px 20px; } }.auth-panel.ritm-form-container .ritm-auth-link { display: block; margin: 12px auto 0; padding: 0; border: 0; background: transparent; color: #0066ff; font: inherit; font-size: 14px; cursor: pointer; }
.auth-panel.ritm-form-container .ritm-auth-link:hover, .auth-panel.ritm-form-container .ritm-auth-link:focus-visible { text-decoration: underline; }
.auth-panel.ritm-form-container .form-privacy { display: grid; gap: 10px; margin-top: 4px; }
.auth-panel.ritm-form-container .ritm-auth-consent-row { display: flex; align-items: flex-start; gap: 8px; min-height: 24px; margin: 0; color: #64748b; font-size: 14px; font-weight: 400; line-height: 1.45; }
.auth-panel.ritm-form-container .ritm-auth-consent-row input { flex: none; width: 15px; height: 15px; min-height: 15px; margin: 3px 0 0; padding: 0; }
.auth-panel.ritm-form-container .ritm-auth-consent-row a { color: #2563eb; text-decoration: underline; text-underline-offset: 2px; }
.header-account-avatar { overflow: hidden; display: inline-grid; place-items: center; }
.header-account-avatar-image { width: 100%; height: 100%; display: block; object-fit: cover; border-radius: inherit; }
/* 404 page layout */
#main-content > .hero { box-sizing: border-box; width: 100%; max-width: 1180px; margin: 0 auto; padding: clamp(2.5rem, 7vw, 6rem) 1.25rem clamp(3rem, 7vw, 6rem); }
#main-content > .hero h1 { max-width: 900px; margin: 0 0 1rem; font-size: clamp(2.4rem, 6vw, 4.8rem); line-height: 1.05; }
#main-content > .hero .lede { max-width: 720px; margin: 0; color: var(--muted); font-size: clamp(1rem, 2vw, 1.25rem); line-height: 1.55; }
#main-content > .hero .actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
#main-content > .hero .actions .button { width: auto; min-width: 180px; }
@media (max-width: 600px) { #main-content > .hero { padding-inline: 1rem; } #main-content > .hero .actions .button { width: 100%; } }
/* Keep the footer at the viewport bottom on short pages. */
html, body { min-height: 100%; }
body { min-height: 100vh; display: flex; flex-direction: column; }
#main-content { flex: 1 0 auto; }
.site-footer { margin-top: auto; }
/* Legal document pages */
body.page-id-30001 #main-content,
body.page-id-30002 #main-content,
body.page-id-30003 #main-content,
body.page-id-30004 #main-content,
body.page-id-30005 #main-content,
body.page-id-30006 #main-content,
body.page-id-30007 #main-content { box-sizing: border-box; width: min(100%, 980px); margin: 0 auto; padding: clamp(2.5rem, 6vw, 5rem) 1.25rem 5rem; color: var(--ink); }
body.page-id-30001 #main-content > h1,
body.page-id-30002 #main-content > h1,
body.page-id-30003 #main-content > h1,
body.page-id-30004 #main-content > h1,
body.page-id-30005 #main-content > h1,
body.page-id-30006 #main-content > h1,
body.page-id-30007 #main-content > h1 { max-width: 860px; margin: 0 0 1rem; font-size: clamp(2rem, 4.5vw, 3.5rem); line-height: 1.12; }
body.page-id-30001 #main-content > p,
body.page-id-30002 #main-content > p,
body.page-id-30003 #main-content > p,
body.page-id-30004 #main-content > p,
body.page-id-30005 #main-content > p,
body.page-id-30006 #main-content > p,
body.page-id-30007 #main-content > p { margin: 0 0 1rem; color: #294258; line-height: 1.7; }
body.page-id-30001 #main-content > h2,
body.page-id-30002 #main-content > h2,
body.page-id-30003 #main-content > h2,
body.page-id-30004 #main-content > h2,
body.page-id-30005 #main-content > h2,
body.page-id-30006 #main-content > h2,
body.page-id-30007 #main-content > h2 { margin: 2.2rem 0 .8rem; font-size: clamp(1.35rem, 2.5vw, 2rem); line-height: 1.25; }
body.page-id-30001 #main-content > h3,
body.page-id-30002 #main-content > h3,
body.page-id-30003 #main-content > h3,
body.page-id-30004 #main-content > h3,
body.page-id-30005 #main-content > h3,
body.page-id-30006 #main-content > h3,
body.page-id-30007 #main-content > h3 { margin: 1.6rem 0 .6rem; font-size: 1.2rem; }
body.page-id-30001 #main-content > ul,
body.page-id-30002 #main-content > ul,
body.page-id-30003 #main-content > ul,
body.page-id-30004 #main-content > ul,
body.page-id-30005 #main-content > ul,
body.page-id-30006 #main-content > ul,
body.page-id-30007 #main-content > ul,
body.page-id-30001 #main-content > ol,
body.page-id-30002 #main-content > ol,
body.page-id-30003 #main-content > ol,
body.page-id-30004 #main-content > ol,
body.page-id-30005 #main-content > ol,
body.page-id-30006 #main-content > ol,
body.page-id-30007 #main-content > ol { margin: 0 0 1.2rem; padding-left: 1.5rem; color: #294258; line-height: 1.7; }
body.page-id-30001 #main-content table,
body.page-id-30002 #main-content table,
body.page-id-30003 #main-content table,
body.page-id-30004 #main-content table,
body.page-id-30005 #main-content table,
body.page-id-30006 #main-content table,
body.page-id-30007 #main-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin: 1rem 0 1.5rem; }
body.page-id-30001 #main-content th, body.page-id-30001 #main-content td,
body.page-id-30002 #main-content th, body.page-id-30002 #main-content td,
body.page-id-30003 #main-content th, body.page-id-30003 #main-content td,
body.page-id-30004 #main-content th, body.page-id-30004 #main-content td,
body.page-id-30005 #main-content th, body.page-id-30005 #main-content td,
body.page-id-30006 #main-content th, body.page-id-30006 #main-content td,
body.page-id-30007 #main-content th, body.page-id-30007 #main-content td { min-width: 160px; padding: .7rem .8rem; border: 1px solid var(--line); text-align: left; vertical-align: top; line-height: 1.5; }
@media (max-width: 600px) { body.page-id-30001 #main-content, body.page-id-30002 #main-content, body.page-id-30003 #main-content, body.page-id-30004 #main-content, body.page-id-30005 #main-content, body.page-id-30006 #main-content, body.page-id-30007 #main-content { padding-inline: 1rem; } }
/* Sliding registration panel inside the authentication modal */
.auth-panel.ritm-form-container { width: min(420px, calc(100vw - 2rem)); padding: 0; overflow: hidden; transition: width .55s cubic-bezier(.22,.61,.36,1), border-radius .35s ease; }
.auth-transition-shell { display: flex; min-height: 520px; width: 100%; }
.auth-register-promo { flex: 0 0 0; width: 0; min-width: 0; overflow: hidden; opacity: 0; transform: translateX(-32px); padding: 0; color: #fff; background: linear-gradient(145deg,#0f172a 0%,#1e1b4b 100%); transition: flex-basis .55s cubic-bezier(.22,.61,.36,1), width .55s cubic-bezier(.22,.61,.36,1), opacity .35s ease .05s, transform .55s cubic-bezier(.22,.61,.36,1), padding .55s ease; }
.auth-form-pane { flex: 1 1 auto; min-width: 0; padding: 40px; background: rgba(255,255,255,.98); }
.auth-panel--register { width: min(900px, calc(100vw - 2rem)); }
.auth-panel--register .auth-register-promo { flex-basis: 52%; width: 52%; opacity: 1; transform: translateX(0); padding: 42px 34px 28px; }
.auth-promo-brand { display:flex; align-items:center; gap:10px; font-size:18px; font-weight:750; letter-spacing:-.02em; }
.auth-promo-badge { display:grid; place-items:center; width:32px; height:32px; border-radius:8px; background:#6366f1; color:#fff; font-size:14px; font-weight:850; }
.auth-promo-content { margin: clamp(34px,8vh,96px) 0 24px; }
.auth-promo-agent { display:inline-flex; align-items:center; gap:9px; padding:6px 14px 6px 6px; border:1px solid rgba(129,140,248,.3); border-radius:40px; background:rgba(255,255,255,.06); color:#c7d2fe; font-size:11px; font-weight:650; white-space:nowrap; }
.auth-promo-agent i { display:inline-block; width:6px; height:6px; margin-right:4px; border-radius:50%; background:#34d399; box-shadow:0 0 8px #34d399; }
.auth-promo-avatar { display:grid; place-items:center; width:34px; height:34px; border:2px solid #818cf8; border-radius:50%; background:radial-gradient(circle,#6366f1,#312e81); color:#fff; }
.auth-promo-content h2 { margin:22px 0 28px; color:#fff; font-size:clamp(25px,3vw,34px); line-height:1.18; letter-spacing:-.03em; }
.auth-promo-content ul { display:grid; gap:22px; margin:0; padding:0; list-style:none; }
.auth-promo-content li { display:flex; gap:12px; align-items:flex-start; }
.auth-promo-content li > span { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border:1px solid rgba(255,255,255,.14); border-radius:10px; color:#a5b4fc; background:rgba(255,255,255,.08); font-size:16px; }
.auth-promo-content strong,.auth-promo-content small { display:block; }
.auth-promo-content strong { color:#f8fafc; font-size:13px; line-height:1.3; }
.auth-promo-content small { margin-top:4px; color:#94a3b8; font-size:11px; line-height:1.45; }
.auth-promo-footer { color:#64748b; font-size:10px; }
.auth-panel--register .auth-form-pane { padding: 42px 40px; }
.auth-panel--register .auth-form-pane .ritm-form-header { text-align:left; }
@media (max-width: 720px) {
  .auth-panel--register { width:min(520px,calc(100vw - 1rem)); max-height:calc(100dvh - 1rem); }
  .auth-panel--register .auth-transition-shell { display:block; overflow:auto; max-height:calc(100dvh - 1rem); }
  .auth-panel--register .auth-register-promo { width:100%; min-height:230px; padding:28px 24px 22px; }
  .auth-panel--register .auth-promo-content { margin:25px 0 0; }
  .auth-panel--register .auth-promo-content h2 { margin:15px 0 20px; font-size:25px; }
  .auth-panel--register .auth-promo-content ul { display:none; }
  .auth-panel--register .auth-form-pane { padding:28px 22px 30px; }
}

/* Authorized account popover */
.site-header { position: relative; }
.one-rhythm-vertical-account-popover { position:absolute; z-index:140; top:calc(100% + 10px); right:0; width:min(390px,calc(100vw - 2rem)); max-height:min(70vh,620px); overflow:auto; border:1px solid rgba(148,163,184,.35); border-radius:16px; background:#fff; box-shadow:0 24px 60px rgba(15,23,42,.22); opacity:0; visibility:hidden; transform:translateY(-8px) scale(.98); transform-origin:top right; transition:opacity .18s ease,transform .18s ease,visibility .18s ease; }
.one-rhythm-vertical-account-popover.is-open { opacity:1; visibility:visible; transform:translateY(0) scale(1); }
.one-rhythm-vertical-popover-inner { padding:14px; color:#172b3d; } .one-rhythm-vertical-popover-profile-block { padding-bottom:14px; border-bottom:1px solid #e5edf2; } .one-rhythm-vertical-popover-user-info { display:flex; align-items:center; gap:10px; } .one-rhythm-vertical-popover-avatar { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; overflow:hidden; border-radius:50%; background:#dbeafe; color:#1d4ed8; font-weight:800; } .one-rhythm-vertical-avatar-photo { width:100%; height:100%; object-fit:cover; } .one-rhythm-vertical-popover-user-details { min-width:0; display:grid; gap:2px; } .one-rhythm-vertical-popover-user-name { overflow:hidden; color:#172b3d; font-size:15px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; } .one-rhythm-vertical-popover-user-id { color:#718394; font-size:12px; } .one-rhythm-vertical-popover-actions { display:flex; gap:8px; margin-top:12px; } .one-rhythm-vertical-popover-button { flex:1; padding:9px 10px; border:1px solid #d7e2e9; border-radius:8px; color:#145fc1; font-size:13px; font-weight:700; text-align:center; text-decoration:none; background:#fff; } .one-rhythm-vertical-popover-button:hover { background:#f3f8fc; } .one-rhythm-vertical-popover-button.logout { color:#b42318; } .one-rhythm-vertical-popover-section-title { margin:14px 2px 8px; color:#718394; font-size:12px; font-weight:750; } .one-rhythm-vertical-popover-company-list { display:grid; gap:4px; } .one-rhythm-vertical-popover-company-item { display:flex; align-items:center; justify-content:space-between; width:100%; padding:9px 8px; border:0; border-radius:8px; color:#172b3d; background:transparent; text-align:left; cursor:pointer; } .one-rhythm-vertical-popover-company-item:hover { background:#f3f8fc; } .one-rhythm-vertical-popover-company-item.current { background:#eef6ff; } .one-rhythm-vertical-company-name-block { display:grid; gap:2px; min-width:0; } .one-rhythm-vertical-popover-company-name { overflow:hidden; font-size:13px; font-weight:650; text-overflow:ellipsis; white-space:nowrap; } .one-rhythm-vertical-popover-company-id { color:#8293a1; font-size:11px; } .one-rhythm-vertical-popover-badge { flex:none; margin-left:8px; color:#176b45; font-size:11px; font-weight:700; }
@media (max-width:600px) { .one-rhythm-vertical-account-popover { position:fixed; top:70px; right:10px; max-height:calc(100dvh - 85px); } }

/* Exact account popover skin from the portal */
.one-rhythm-vertical-account-popover { z-index:1000; border-radius:12px; opacity:0; pointer-events:none; flex-direction:column; width:280px; transition:transform .15s cubic-bezier(.25,1,.5,1),opacity .12s; display:flex; position:absolute; top:16px; right:0; left:auto; transform:translateY(-5px); box-shadow:0 30px 60px -12px #0f172a40; border:0; max-height:none; overflow:visible; visibility:visible; background:transparent; }
.one-rhythm-vertical-account-popover.open,.one-rhythm-vertical-account-popover.is-open { opacity:1; pointer-events:auto; transform:translateY(0); visibility:visible; }
.one-rhythm-vertical-account-popover:before { content:""; pointer-events:auto; background:0 0; width:20px; height:100%; position:absolute; top:0; left:-20px; }
.one-rhythm-vertical-popover-inner { border-radius:12px; flex-direction:column; width:100%; display:flex; overflow:hidden; }
.one-rhythm-vertical-popover-profile-block { color:#fff; background:#0f172a; flex-direction:column; gap:14px; padding:16px; display:flex; border:0; }
.one-rhythm-vertical-popover-avatar { width:34px; height:34px; flex:0 0 34px; font-size:12px; background:#334155; color:#fff; }
.one-rhythm-vertical-popover-user-name { color:#fff; font-size:14px; font-weight:600; }
.one-rhythm-vertical-popover-user-id { color:#94a3b8; font-size:11px; }
.one-rhythm-vertical-popover-actions { gap:8px; margin-top:2px; display:flex; }
.one-rhythm-vertical-popover-button { box-sizing:border-box; color:#e2e8f0; cursor:pointer; text-align:center; background:#ffffff14; border:0; border-radius:8px; flex:1; justify-content:center; align-items:center; padding:7px; font-size:12px; font-weight:500; transition:all .12s; display:inline-flex; }
.one-rhythm-vertical-popover-button:hover,.one-rhythm-vertical-popover-button:focus-visible { color:#fff; background:#ffffff29; outline:none; }
.one-rhythm-vertical-popover-button.logout:hover,.one-rhythm-vertical-popover-button.logout:focus-visible { color:#fff; background:#ef4444; }
.one-rhythm-vertical-popover-companies-block { -webkit-backdrop-filter:blur(20px); background:#fffffff2; border-top:1px solid #0000000a; flex-direction:column; gap:10px; padding:16px; display:flex; }
.one-rhythm-vertical-popover-section-title { color:#64748b; margin:0 0 4px; font-size:12px; }
.one-rhythm-vertical-popover-company-list { scrollbar-gutter:stable; scrollbar-width:thin; scrollbar-color:#2563eb85 #e2e8f0d1; flex-direction:column; gap:10px; min-height:250px; max-height:250px; margin-right:-10px; padding:2px 0 4px; scroll-padding-top:2px; display:flex; overflow-y:auto; }
.one-rhythm-vertical-popover-company-list::-webkit-scrollbar { width:10px; }
.one-rhythm-vertical-popover-company-list::-webkit-scrollbar-track { background:#e2e8f0d1; border-radius:999px; }
.one-rhythm-vertical-popover-company-list::-webkit-scrollbar-thumb { background:#2563eb94; border:2px solid #e2e8f0d1; border-radius:999px; min-height:42px; }
.one-rhythm-vertical-popover-company-item { box-sizing:border-box; border-radius:8px; cursor:pointer; text-align:left; background:#f1f5f9; border:1px solid #e2e8f0; justify-content:space-between; align-items:center; width:100%; min-width:0; padding:10px 12px; transition:transform .12s,border-color .12s,background .12s,box-shadow .12s; display:flex; }
.one-rhythm-vertical-popover-company-item:hover,.one-rhythm-vertical-popover-company-item:focus-visible { background:#fff; border-color:#cbd5e1; outline:none; transform:translateY(-1px); box-shadow:0 4px 12px #0f172a0f; }
.one-rhythm-vertical-popover-company-item.current { border-color:#2563eb; background:#fff; box-shadow:0 4px 12px #3b82f614; }
.one-rhythm-vertical-company-name-block { text-overflow:ellipsis; white-space:nowrap; align-items:baseline; gap:4px; min-width:0; min-height:18px; display:flex; overflow:hidden; }
.one-rhythm-vertical-popover-company-name { min-width:0; color:#172033; text-overflow:ellipsis; white-space:nowrap; font-size:13px; font-weight:500; display:block; overflow:hidden; }
.one-rhythm-vertical-popover-company-id { color:#64748b; text-overflow:ellipsis; white-space:nowrap; flex-shrink:0; margin-top:1px; font-size:10px; display:block; overflow:hidden; }
.one-rhythm-vertical-popover-badge { color:#2563eb; text-transform:uppercase; background:#3b82f61a; border-radius:6px; flex-shrink:0; padding:2px 6px; font-size:9px; font-weight:600; }
@media (max-width:600px) { .one-rhythm-vertical-account-popover { position:fixed; top:70px; right:10px; left:auto; width:min(312px,calc(100vw - 83px)); max-height:calc(100dvh - 85px); } }

/* Portal radius token: --one-rhythm-radius-base = 8px */
.one-rhythm-vertical-account-popover, .one-rhythm-vertical-popover-inner { border-radius: 8px; }

/* Final pixel match with portal account popover */
.one-rhythm-vertical-popover-avatar { color:#fff; letter-spacing:-.02em; background:radial-gradient(circle at 35% 30%,#93c5fdf5,#3b82f6db 48%,#0f172aeb 100%); border-radius:50%; flex-shrink:0; justify-content:center; align-items:center; font-weight:600; display:inline-flex; overflow:hidden; }
.one-rhythm-vertical-popover-avatar.has-photo { background:#e2e8f0; }
.one-rhythm-vertical-avatar-photo { border-radius:inherit; object-fit:cover; flex-shrink:0; width:100%; height:100%; display:block; }
.one-rhythm-vertical-popover-section-title { color:#64748b; letter-spacing:.6px; text-transform:uppercase; font-size:11px; font-weight:600; margin-bottom:4px; }
.one-rhythm-vertical-popover-company-item { border-radius:8px; gap:normal; }
.one-rhythm-vertical-popover-company-name { color:#172033; font-size:13px; font-weight:500; }
.one-rhythm-vertical-popover-company-id { color:#64748b; margin-top:1px; font-size:10px; }
.one-rhythm-vertical-popover-badge { color:#2563eb; text-transform:uppercase; background:#3b82f61a; border-radius:6px; padding:2px 6px; font-size:9px; font-weight:600; }

/* Popover container: one shared rounded surface; only explicitly selected company is active. */
.one-rhythm-vertical-account-popover { border-radius:8px !important; overflow:hidden !important; }
.one-rhythm-vertical-popover-inner { border-radius:8px !important; overflow:hidden !important; }
.one-rhythm-vertical-popover-company-item { border-color:#e2e8f0 !important; background:#f1f5f9 !important; box-shadow:none !important; }
.one-rhythm-vertical-popover-company-item:hover,.one-rhythm-vertical-popover-company-item:focus-visible { border-color:#cbd5e1 !important; background:#fff !important; box-shadow:0 4px 12px #0f172a0f !important; }
.one-rhythm-vertical-popover-company-item.current { border-color:#2563eb !important; background:#fff !important; box-shadow:0 4px 12px #3b82f614 !important; }

/* Keep the shared radius visible through nested colored sections. */
.one-rhythm-vertical-account-popover { background:transparent !important; border-radius:8px !important; overflow:hidden !important; }
.one-rhythm-vertical-popover-inner { border-radius:8px !important; overflow:hidden !important; }
.one-rhythm-vertical-popover-profile-block { border-radius:8px 8px 0 0 !important; }
.one-rhythm-vertical-popover-companies-block { border-radius:0 0 8px 8px !important; }

/* Remove legacy inset spacing that created a glass-like frame around the profile block. */
.one-rhythm-vertical-popover-inner { padding:0 !important; border:0 !important; background:transparent !important; box-shadow:none !important; backdrop-filter:none !important; }
.one-rhythm-vertical-popover-profile-block { margin:0 !important; border:0 !important; outline:0 !important; box-shadow:none !important; backdrop-filter:none !important; }

/* Account menu as a right-side overlay drawer. The page stays in place. */
body.account-popover-open::before { content:""; position:fixed; inset:0; z-index:1290; background:rgba(15,23,42,.16); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); pointer-events:auto; animation:account-overlay-in .2s ease both; }
@keyframes account-overlay-in { from { opacity:0; } to { opacity:1; } }
.one-rhythm-vertical-account-popover { position:fixed !important; z-index:1300 !important; top:0 !important; right:0 !important; left:auto !important; width:min(360px,92vw) !important; height:100dvh; max-height:none !important; border-radius:16px 0 0 16px !important; transform:translateX(100%) !important; opacity:1 !important; visibility:visible !important; transition:transform .28s cubic-bezier(.22,.61,.36,1) !important; box-shadow:-18px 0 50px rgba(15,23,42,.22) !important; }
.one-rhythm-vertical-account-popover.open,.one-rhythm-vertical-account-popover.is-open { transform:translateX(0) !important; }
.one-rhythm-vertical-popover-inner { min-height:100%; border-radius:16px 0 0 16px !important; overflow:auto !important; }
.one-rhythm-vertical-popover-profile-block { border-radius:16px 0 0 0 !important; }
.one-rhythm-vertical-popover-companies-block { min-height:calc(100dvh - 145px); border-radius:0 0 0 16px !important; }
@media (max-width:600px) { .one-rhythm-vertical-account-popover { width:min(360px,94vw) !important; } }

/* Blur only the page content behind the drawer; keep header and drawer sharp. */
body.account-popover-open::before { -webkit-backdrop-filter:none !important; backdrop-filter:none !important; background:rgba(15,23,42,.12) !important; }
body.account-popover-open #main-content, body.account-popover-open .site-footer { filter:blur(3px); transition:filter .2s ease; }

/* Keep the drawer below the WordPress admin toolbar and use its full remaining height. */
body.admin-bar .one-rhythm-vertical-account-popover { top:32px !important; height:calc(100dvh - 32px) !important; }
body.admin-bar .one-rhythm-vertical-popover-companies-block { min-height:0 !important; flex:1 1 auto; }
body.admin-bar .one-rhythm-vertical-popover-company-list { min-height:0; max-height:none; flex:1 1 auto; }
@media (max-width:782px) { body.admin-bar .one-rhythm-vertical-account-popover { top:46px !important; height:calc(100dvh - 46px) !important; } }

/* Fully adaptive drawer offset: follows the actual WP toolbar and safe area. */
:root { --account-drawer-top: env(safe-area-inset-top, 0px); }
body.admin-bar { --account-drawer-top: calc(32px + env(safe-area-inset-top, 0px)); }
.one-rhythm-vertical-account-popover { top:var(--account-drawer-top) !important; height:calc(100dvh - var(--account-drawer-top)) !important; max-height:none !important; }
.one-rhythm-vertical-popover-inner { height:100%; min-height:0 !important; display:flex; flex-direction:column; }
.one-rhythm-vertical-popover-profile-block { flex:0 0 auto; }
.one-rhythm-vertical-popover-companies-block { flex:1 1 auto; min-height:0 !important; overflow:hidden; }
.one-rhythm-vertical-popover-company-list { flex:1 1 auto; min-height:0 !important; max-height:none !important; overflow-y:auto; }
@media (max-width:782px) { body.admin-bar { --account-drawer-top:calc(46px + env(safe-area-inset-top, 0px)); } }
@media (max-height:560px) { .one-rhythm-vertical-popover-profile-block { padding:12px; gap:10px; } .one-rhythm-vertical-popover-companies-block { padding:12px; gap:8px; } .one-rhythm-vertical-popover-company-list { gap:7px; } }

/* Company rows remain interactive without closing the account drawer. */
.one-rhythm-vertical-popover-company-row { display:grid; width:100%; }
.one-rhythm-vertical-popover-company-item { appearance:none !important; -webkit-appearance:none !important; cursor:pointer !important; color:#172033 !important; background:#f1f5f9 !important; border:1px solid #e2e8f0 !important; }
.one-rhythm-vertical-popover-company-item:hover { color:#172033 !important; background:#fff !important; border-color:#cbd5e1 !important; transform:translateY(-1px); box-shadow:0 4px 12px #0f172a0f !important; }
.one-rhythm-vertical-popover-company-item:focus-visible { outline:2px solid #2563eb !important; outline-offset:2px; background:#fff !important; border-color:#cbd5e1 !important; }
.one-rhythm-vertical-popover-company-item.current { background:#fff !important; border-color:#2563eb !important; }

/* The drawer remains open while interacting with the page; only account toggle/Escape closes it. */
body.account-popover-open::before { pointer-events:none !important; }

/* Compact desktop header spacing; mobile keeps its own comfortable padding. */
@media (min-width:601px) { .site-header { min-height:58px; padding-top:.45rem; padding-bottom:.45rem; } }

/* Keep the header and account drawer above the page dimmer. */
body.account-popover-open .site-header { z-index:1301 !important; }
body.account-popover-open .one-rhythm-vertical-account-popover { z-index:1302 !important; }

/* Blur the page chrome too; the drawer is mounted on body and stays crisp. */
body.account-popover-open .site-header { z-index:20 !important; filter:blur(3px); transition:filter .2s ease; }
body.account-popover-open .one-rhythm-vertical-account-popover { z-index:1302 !important; filter:none !important; }

/* Compact login modal; the tall shell is needed only for registration. */
.auth-transition-shell { min-height:0 !important; }
.auth-panel--register .auth-transition-shell { min-height:520px !important; }
.auth-panel:not(.auth-panel--register) .auth-form-pane { padding-top:28px; padding-bottom:28px; }
@media (max-height:560px) { .auth-panel--register .auth-transition-shell { min-height:0 !important; } }

/* Login modal must size to its form content, not stretch to the viewport. */
.auth-panel.ritm-form-container:not(.auth-panel--register) { height:auto !important; min-height:0 !important; max-height:calc(100dvh - 2rem); align-self:center; }
.auth-panel.ritm-form-container:not(.auth-panel--register) .auth-transition-shell { height:auto !important; min-height:0 !important; }
.auth-panel.ritm-form-container:not(.auth-panel--register) .auth-form-pane { flex:0 0 auto !important; height:auto !important; min-height:0 !important; }

/* Hard stop: login surface follows content height; only register uses a tall surface. */
.auth-dialog { align-items:center !important; }
.auth-panel.ritm-form-container:not(.auth-panel--register),
.auth-panel.ritm-form-container:not(.auth-panel--register) .auth-transition-shell,
.auth-panel.ritm-form-container:not(.auth-panel--register) .auth-form-pane { display:block !important; height:fit-content !important; min-height:0 !important; max-height:calc(100dvh - 2rem) !important; flex:none !important; align-self:center !important; }
.auth-panel.ritm-form-container:not(.auth-panel--register) .auth-form-pane { overflow:visible !important; }

/* Login mode has no promo column in layout; the two-column shell exists only for registration. */
.auth-panel.ritm-form-container:not(.auth-panel--register) .auth-transition-shell { display:block !important; width:100% !important; height:auto !important; min-height:0 !important; }
.auth-panel.ritm-form-container:not(.auth-panel--register) .auth-register-promo { display:none !important; }
.auth-panel.ritm-form-container:not(.auth-panel--register) .auth-form-pane { display:block !important; width:100% !important; height:auto !important; min-height:0 !important; padding:28px 40px !important; }
.auth-panel.ritm-form-container.auth-panel--register .auth-transition-shell { display:flex !important; }

/* Smooth login -> registration transition */
.auth-panel.ritm-form-container { transition: width .55s cubic-bezier(.22,.61,.36,1), border-radius .35s ease, box-shadow .35s ease; }
.auth-panel--register .auth-register-promo { animation: auth-promo-reveal .55s cubic-bezier(.22,.61,.36,1) both; }
.auth-panel--register .auth-form-pane { animation: auth-form-reveal .42s ease .12s both; }
@keyframes auth-promo-reveal { from { opacity:0; transform:translateX(-34px); } to { opacity:1; transform:translateX(0); } }
@keyframes auth-form-reveal { from { opacity:.35; transform:translateX(18px); } to { opacity:1; transform:translateX(0); } }
.auth-mode-switching { will-change:width; }
.auth-panel:not(.auth-panel--register) .auth-form-pane { animation: auth-login-reveal .32s ease both; }
@keyframes auth-login-reveal { from { opacity:.55; transform:translateX(12px); } to { opacity:1; transform:translateX(0); } }
@media (prefers-reduced-motion: reduce) { .auth-panel.ritm-form-container, .auth-panel--register .auth-register-promo, .auth-panel--register .auth-form-pane, .auth-panel:not(.auth-panel--register) .auth-form-pane { animation:none !important; transition:none !important; } }

/* Registration transition — demo variant 3: clip reveal. */
.auth-panel--register .auth-register-promo { opacity:1 !important; transform:none !important; clip-path:inset(0 100% 0 0 round 0); transition:flex-basis .55s cubic-bezier(.22,.61,.36,1),width .55s cubic-bezier(.22,.61,.36,1),padding .55s ease,clip-path .65s cubic-bezier(.16,1,.3,1) !important; animation:none !important; }
.auth-panel--register .auth-register-promo { clip-path:inset(0 0 0 0 round 0); }
.auth-panel:not(.auth-panel--register) .auth-register-promo { display:none !important; clip-path:inset(0 100% 0 0 round 0); }
.auth-panel--register .auth-form-pane { animation:none !important; transition:opacity .35s ease .12s,transform .55s cubic-bezier(.22,.61,.36,1) .08s !important; }
@media (max-width:720px) { .auth-panel--register .auth-register-promo { clip-path:inset(0 0 100% 0 round 0); transition:clip-path .65s cubic-bezier(.16,1,.3,1),opacity .35s ease !important; } .auth-panel--register .auth-register-promo { clip-path:inset(0 0 0 0 round 0); } }

/* Keep the promo mounted so the register link can animate it instead of popping it in. */
.auth-panel.ritm-form-container:not(.auth-panel--register) .auth-transition-shell { display:flex !important; }
.auth-panel.ritm-form-container:not(.auth-panel--register) .auth-register-promo { display:block !important; flex:0 0 0 !important; width:0 !important; min-width:0 !important; padding:0 !important; opacity:0 !important; clip-path:inset(0 100% 0 0) !important; pointer-events:none; }
.auth-panel.ritm-form-container:not(.auth-panel--register) .auth-form-pane { flex:1 1 auto !important; width:100% !important; }
.auth-panel.ritm-form-container.auth-panel--register .auth-register-promo { display:block !important; pointer-events:auto; }

/* Full-screen registration surface. */
.auth-panel.ritm-form-container.auth-panel--register { position:fixed !important; inset:0 !important; width:100vw !important; max-width:none !important; height:100dvh !important; max-height:none !important; margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important; overflow:hidden !important; box-shadow:none !important; }
.auth-panel--register .auth-transition-shell { width:100% !important; height:100% !important; min-height:0 !important; }
.auth-panel--register .auth-register-promo { flex:0 0 50% !important; width:50% !important; min-height:0 !important; height:100% !important; padding:clamp(32px,6vw,84px) clamp(24px,7vw,110px) 32px !important; display:flex !important; flex-direction:column; justify-content:space-between; }
.auth-panel--register .auth-form-pane { flex:1 1 50% !important; width:50% !important; height:100% !important; min-height:0 !important; padding:clamp(32px,7vw,100px) clamp(24px,8vw,140px) !important; display:flex; align-items:center; overflow:auto; }
.auth-panel--register .auth-form-pane .ritm-form { width:min(460px,100%); margin:0 auto; }
.auth-panel--register .auth-close { position:fixed; top:20px; right:20px; z-index:5; }
@media (max-width:720px) {
 .auth-panel.ritm-form-container.auth-panel--register { overflow:auto !important; }
 .auth-panel--register .auth-transition-shell { display:block !important; height:auto !important; min-height:100dvh !important; }
 .auth-panel--register .auth-register-promo { width:100% !important; height:auto !important; min-height:390px; padding:32px 24px 28px !important; }
 .auth-panel--register .auth-form-pane { width:100% !important; height:auto !important; min-height:calc(100dvh - 390px); padding:42px 24px 56px !important; }
}

/* Registration visual system copied from the supplied reference HTML. */
.auth-panel--register { font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; background:#0f172a !important; color:#334155; }
.auth-panel--register .auth-transition-shell { display:flex !important; min-height:100vh !important; height:100% !important; }
.auth-panel--register .auth-register-promo { flex:1.1 1 0 !important; width:auto !important; background:linear-gradient(135deg,#0f172a 0%,#1e1b4b 100%) !important; color:#fff; padding:60px 80px !important; display:flex !important; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; clip-path:none !important; }
.auth-panel--register .auth-register-promo:before { content:""; position:absolute; top:-20%; left:-20%; width:500px; height:500px; background:radial-gradient(circle,rgba(99,102,241,.25) 0%,rgba(0,0,0,0) 70%); pointer-events:none; }
.auth-panel--register .auth-promo-brand { display:flex; align-items:center; gap:12px; font-size:22px; font-weight:700; letter-spacing:-.5px; color:#fff; position:relative; z-index:1; }
.auth-panel--register .auth-promo-badge { width:32px; height:32px; background:#6366f1; border-radius:8px; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:16px; }
.auth-panel--register .auth-promo-content { max-width:520px; margin:30px 0; position:relative; z-index:1; }
.auth-panel--register .auth-promo-agent { display:inline-flex; align-items:center; gap:12px; background:rgba(255,255,255,.05); border:1px solid rgba(129,140,248,.3); backdrop-filter:blur(8px); padding:6px 16px 6px 6px; border-radius:40px; margin-bottom:24px; box-shadow:0 8px 20px rgba(99,102,241,.2); font-size:13px; font-weight:600; color:#c7d2fe; }
.auth-panel--register .auth-promo-avatar { width:44px; height:44px; border-radius:50%; background:radial-gradient(circle,#6366f1 0%,#312e81 100%); display:flex; align-items:center; justify-content:center; overflow:hidden; border:2px solid #818cf8; box-shadow:0 0 12px rgba(129,140,248,.5); flex-shrink:0; }
.auth-panel--register .auth-promo-agent i { width:6px; height:6px; background:#34d399; border-radius:50%; box-shadow:0 0 8px #34d399; display:inline-block; }
.auth-panel--register .auth-promo-content h2 { font-size:36px; font-weight:700; line-height:1.25; margin:0 0 36px; letter-spacing:-.5px; color:transparent; background:linear-gradient(180deg,#fff 0%,#cbd5e1 100%); -webkit-background-clip:text; background-clip:text; }
.auth-panel--register .auth-promo-content ul { display:flex; flex-direction:column; gap:28px; margin:0; padding:0; list-style:none; }
.auth-panel--register .auth-promo-content li { display:flex; align-items:flex-start; gap:16px; }
.auth-panel--register .auth-promo-content li>span { width:44px; height:44px; border-radius:12px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:#818cf8; }
.auth-panel--register .auth-promo-content li strong { display:block; font-size:17px; font-weight:600; color:#f8fafc; margin:0 0 6px; }
.auth-panel--register .auth-promo-content li small { display:block; font-size:14px; line-height:1.5; color:#94a3b8; }
.auth-panel--register .auth-promo-footer { position:relative; z-index:1; font-size:13px; color:#64748b; }
.auth-panel--register .auth-form-pane { flex:.9 1 0 !important; width:auto !important; background:#fff !important; padding:60px 80px !important; display:flex; flex-direction:column; justify-content:center; align-items:center; overflow:auto; }
.auth-panel--register .auth-form-pane .ritm-form { width:100%; max-width:400px; margin:0; }
.auth-panel--register .auth-form-pane .ritm-form-header { text-align:left; margin-bottom:32px; }
.auth-panel--register .auth-form-pane .ritm-form-header h2 { font-size:28px; font-weight:700; color:#0f172a; letter-spacing:-.5px; margin:0 0 8px; }
.auth-panel--register .auth-form-pane .ritm-form-header p { font-size:14px; color:#64748b; margin:0; }
.auth-panel--register .auth-form-pane .form-group { display:flex; flex-direction:column; gap:6px; margin:0 0 0; font-size:13px; font-weight:600; color:#334155; }
.auth-panel--register .auth-form-pane .form-input { width:100%; height:48px; padding:0 16px; border-radius:8px; border:1px solid #cbd5e1; font-size:15px; color:#0f172a; background:#fff; }
.auth-panel--register .auth-form-pane .form-input:focus { border-color:#6366f1; box-shadow:0 0 0 4px rgba(99,102,241,.15); }
.auth-panel--register .auth-form-pane .ritm-cta-button { height:48px; margin-top:8px; padding:0; border-radius:8px; background:#6366f1; font-size:15px; font-weight:600; box-shadow:none; }
.auth-panel--register .auth-form-pane .ritm-cta-button:hover { background:#4f46e5; }
.auth-panel--register .auth-form-pane .form-privacy { margin-top:0; }
.auth-panel--register .auth-form-pane .ritm-auth-consent-row { font-size:12px; line-height:1.5; color:#64748b; }
.auth-panel--register .auth-form-pane .ritm-auth-policy-note { font-size:12px; line-height:1.5; text-align:center; margin-top:16px; }
.auth-panel--register .auth-form-pane .ritm-auth-helper { margin-top:24px; font-size:14px; color:#64748b; text-align:center; }
.auth-panel--register .auth-form-pane .ritm-auth-helper a,.auth-panel--register .auth-form-pane .ritm-auth-policy-note a { color:#6366f1; font-weight:600; }
@media (max-width:960px) { .auth-panel--register .auth-transition-shell { display:flex !important; flex-direction:column !important; overflow:auto; } .auth-panel--register .auth-register-promo { padding:40px 24px !important; flex:none !important; min-height:430px; } .auth-panel--register .auth-form-pane { padding:40px 24px !important; flex:none !important; min-height:460px; } .auth-panel--register .auth-promo-content h2 { font-size:28px; } }

/* Exact reference feature geometry. */
.auth-panel--register .auth-promo-content li .feature-icon-box { width:44px; height:44px; border-radius:12px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:#818cf8; }
.auth-panel--register .auth-promo-content li .feature-text { min-width:0; }
.auth-panel--register .auth-promo-content li .feature-text strong { font-size:17px; font-weight:600; color:#f8fafc; margin-bottom:6px; }
.auth-panel--register .auth-promo-content li .feature-text small { font-size:14px; line-height:1.5; color:#94a3b8; }

/* Exact copied reference HTML skin, scoped to the registration surface. */
.auth-panel--register .auth-transition-shell { box-sizing:border-box; width:100%; min-height:100vh; display:flex; }
.auth-panel--register .promo-side { flex:1.1; background:linear-gradient(135deg,#0f172a 0%,#1e1b4b 100%); color:#fff; padding:60px 80px; display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; }
.auth-panel--register .promo-side::before { content:''; position:absolute; top:-20%; left:-20%; width:500px; height:500px; background:radial-gradient(circle,rgba(99,102,241,.25) 0%,rgba(0,0,0,0) 70%); pointer-events:none; }
.auth-panel--register .brand-logo { display:flex; align-items:center; gap:12px; font-size:22px; font-weight:700; letter-spacing:-.5px; color:#fff; position:relative; z-index:1; }
.auth-panel--register .brand-badge { width:32px; height:32px; background:#6366f1; border-radius:8px; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:16px; }
.auth-panel--register .promo-content { max-width:520px; margin:30px 0; position:relative; z-index:1; }
.auth-panel--register .ritmik-hero { display:inline-flex; align-items:center; gap:12px; background:rgba(255,255,255,.05); border:1px solid rgba(129,140,248,.3); backdrop-filter:blur(8px); padding:6px 16px 6px 6px; border-radius:40px; margin-bottom:24px; box-shadow:0 8px 20px rgba(99,102,241,.2); }
.auth-panel--register .ritmik-avatar { width:44px; height:44px; border-radius:50%; background:radial-gradient(circle,#6366f1 0%,#312e81 100%); display:flex; align-items:center; justify-content:center; overflow:hidden; border:2px solid #818cf8; box-shadow:0 0 12px rgba(129,140,248,.5); flex-shrink:0; }
.auth-panel--register .auth-promo-agent { font-size:13px; font-weight:600; color:#c7d2fe; }
.auth-panel--register .auth-promo-agent i { width:6px; height:6px; background:#34d399; border-radius:50%; box-shadow:0 0 8px #34d399; display:inline-block; }
.auth-panel--register .promo-content h2 { font-size:36px; font-weight:700; line-height:1.25; margin:0 0 36px; letter-spacing:-.5px; color:transparent; background:linear-gradient(180deg,#fff 0%,#cbd5e1 100%); -webkit-background-clip:text; background-clip:text; }
.auth-panel--register .promo-content ul { display:flex; flex-direction:column; gap:28px; margin:0; padding:0; list-style:none; }
.auth-panel--register .promo-content li { display:flex; align-items:flex-start; gap:16px; }
.auth-panel--register .promo-content li .feature-icon-box { width:44px; height:44px; border-radius:12px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:#818cf8; }
.auth-panel--register .feature-text strong { display:block; font-size:17px; font-weight:600; color:#f8fafc; margin:0 0 6px; }
.auth-panel--register .feature-text small { display:block; font-size:14px; line-height:1.5; color:#94a3b8; }
.auth-panel--register .promo-footer { font-size:13px; color:#64748b; position:relative; z-index:1; }
.auth-panel--register .form-side { flex:.9; background:#fff; padding:60px 80px; display:flex; flex-direction:column; justify-content:center; align-items:center; }
.auth-panel--register .form-container { width:100%; max-width:400px; }
.auth-panel--register .signup-form { display:flex; flex-direction:column; gap:20px; width:100%; max-width:400px; }
.auth-panel--register .form-header { margin-bottom:32px; }
.auth-panel--register .form-header h2 { font-size:28px; font-weight:700; color:#0f172a; letter-spacing:-.5px; margin-bottom:8px; }
.auth-panel--register .form-header p { font-size:14px; color:#64748b; }
.auth-panel--register .signup-form .form-group { display:flex; flex-direction:column; gap:6px; margin:0; font-size:13px; font-weight:600; color:#334155; }
.auth-panel--register .signup-form .form-input { width:100%; height:48px; padding:0 16px; border-radius:8px; border:1px solid #cbd5e1; font-size:15px; font-family:inherit; color:#0f172a; background:#fff; transition:all .2s ease; outline:none; }
.auth-panel--register .signup-form .form-input:focus { border-color:#6366f1; box-shadow:0 0 0 4px rgba(99,102,241,.15); }
.auth-panel--register .signup-form .ritm-cta-button { width:100%; height:48px; background:#6366f1; color:#fff; border:0; border-radius:8px; font-size:15px; font-weight:600; font-family:inherit; cursor:pointer; transition:background-color .2s ease,transform .1s ease; margin-top:8px; padding:0; box-shadow:none; }
.auth-panel--register .signup-form .ritm-cta-button:hover { background:#4f46e5; }
.auth-panel--register .signup-form .ritm-auth-helper { text-align:center; margin-top:24px; font-size:14px; color:#64748b; }
.auth-panel--register .signup-form .ritm-auth-helper a,.auth-panel--register .signup-form .ritm-auth-policy-note a { color:#6366f1; font-weight:600; text-decoration:none; }
@media(max-width:960px){ .auth-panel--register .promo-side{padding:40px 24px}.auth-panel--register .form-side{padding:40px 24px}.auth-panel--register .promo-content h2{font-size:28px}.auth-panel--register .auth-transition-shell{flex-direction:column}.auth-panel--register .promo-side,.auth-panel--register .form-side{flex:none;width:100%;} }

/* Final geometry override: exact reference column proportions, overriding transition layout rules. */
.auth-panel--register .auth-register-promo.promo-side { flex:1.1 1 0 !important; flex-basis:0 !important; width:auto !important; min-width:0 !important; }
.auth-panel--register .auth-form-pane.form-side { flex:.9 1 0 !important; flex-basis:0 !important; width:auto !important; min-width:0 !important; }
.auth-panel--register .promo-content { max-width:520px !important; margin:30px 0 !important; }
.auth-panel--register .promo-content h2 { max-width:none !important; }
@media (max-width:960px) { .auth-panel--register .auth-register-promo.promo-side, .auth-panel--register .auth-form-pane.form-side { flex:none !important; width:100% !important; } }

/* Pixel lock for reference feature icons and text spacing. */
.auth-panel--register .promo-content ul { display:flex !important; flex-direction:column !important; gap:28px !important; margin:0 !important; padding:0 !important; list-style:none !important; }
.auth-panel--register .promo-content li { display:flex !important; align-items:flex-start !important; gap:16px !important; width:100% !important; }
.auth-panel--register .promo-content li > .feature-icon-box { box-sizing:border-box !important; display:flex !important; flex:0 0 44px !important; width:44px !important; min-width:44px !important; height:44px !important; min-height:44px !important; padding:0 !important; margin:0 !important; border-radius:12px !important; background:rgba(255,255,255,.08) !important; border:1px solid rgba(255,255,255,.12) !important; align-items:center !important; justify-content:center !important; color:#818cf8 !important; }
.auth-panel--register .promo-content li > .feature-icon-box svg { display:block !important; flex:0 0 22px !important; width:22px !important; min-width:22px !important; height:22px !important; min-height:22px !important; margin:0 !important; }
.auth-panel--register .promo-content li > .feature-text { flex:1 1 auto !important; min-width:0 !important; margin:0 !important; padding:0 !important; }
.auth-panel--register .promo-content li > .feature-text strong { display:block !important; margin:0 0 6px !important; font-size:17px !important; line-height:normal !important; font-weight:600 !important; }
.auth-panel--register .promo-content li > .feature-text small { display:block !important; margin:0 !important; font-size:14px !important; line-height:1.5 !important; }

/* Match reference vertical rhythm: each promo column fills the viewport. */
.auth-panel--register .auth-transition-shell { align-items:stretch !important; }
.auth-panel--register .promo-side { height:100% !important; min-height:100% !important; box-sizing:border-box !important; justify-content:space-between !important; }
.auth-panel--register .promo-content { flex:0 0 auto !important; }
.auth-panel--register .promo-content li { align-items:flex-start !important; }
.auth-panel--register .promo-content li > .feature-icon-box { flex:0 0 44px !important; }
.auth-panel--register .promo-content li > .feature-text { margin-left:0 !important; }
@media (max-width:960px) { .auth-panel--register .promo-side { height:auto !important; min-height:430px !important; } }

/* Avatar crop: keep profile photos inside circular avatar bounds. */
.header-account-avatar { display:inline-grid !important; place-items:center !important; width:1.8rem !important; height:1.8rem !important; flex:0 0 1.8rem !important; overflow:hidden !important; border-radius:50% !important; }
.header-account-avatar-image { display:block !important; width:100% !important; height:100% !important; max-width:none !important; object-fit:cover !important; border-radius:inherit !important; }
.site-header .header-login.header-account { display:inline-flex !important; align-items:center !important; gap:.55rem !important; }
.one-rhythm-vertical-popover-avatar { display:grid !important; place-items:center !important; width:34px !important; height:34px !important; flex:0 0 34px !important; overflow:hidden !important; border-radius:50% !important; }
.one-rhythm-vertical-avatar-photo { display:block !important; width:100% !important; height:100% !important; max-width:none !important; object-fit:cover !important; border-radius:inherit !important; }

@keyframes ritm-auth-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes ritm-auth-panel-in{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.auth-dialog:not([hidden]) .auth-dialog__backdrop{animation:ritm-auth-backdrop-in .24s ease-out both}
.auth-dialog:not([hidden]) .auth-panel{animation:ritm-auth-panel-in .3s cubic-bezier(.22,.61,.36,1) both}
@media(prefers-reduced-motion:reduce){.auth-dialog:not([hidden]) .auth-dialog__backdrop,.auth-dialog:not([hidden]) .auth-panel{animation:none}}

/* Login mode is a compact single-column surface; the full-screen shell is registration-only. */
.auth-panel.ritm-form-container:not(.auth-panel--register) {
  width: min(420px, calc(100vw - 2rem)) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100dvh - 2rem) !important;
  overflow: auto !important;
}
.auth-panel.ritm-form-container:not(.auth-panel--register) .auth-transition-shell {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
}
.auth-panel.ritm-form-container:not(.auth-panel--register) .auth-register-promo {
  display: block !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.auth-panel.ritm-form-container:not(.auth-panel--register) .auth-form-pane {
  display: block !important;
  position: relative !important;
  inset: auto !important;
  flex: none !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 28px 40px !important;
  overflow: visible !important;
}

/* Keep the auth mode switch calm: one panel resize, without stacked reveal animations. */
.auth-panel.ritm-form-container {
  animation: none !important;
  transition: width .45s cubic-bezier(.16,1,.3,1), height .45s cubic-bezier(.16,1,.3,1), border-radius .32s ease, transform .45s cubic-bezier(.16,1,.3,1) !important;
}
.auth-panel.ritm-form-container .auth-register-promo,
.auth-panel.ritm-form-container .auth-form-pane {
  animation: none !important;
  transform: none !important;
  clip-path: none !important;
  transition: opacity .26s ease, transform .42s cubic-bezier(.16,1,.3,1), inset .42s cubic-bezier(.16,1,.3,1), padding .42s ease !important;
}
.auth-panel.ritm-form-container:not(.auth-panel--register) .auth-register-promo {
  opacity: 0 !important;
  transform: translateY(8px) scale(.985) !important;
}
.auth-panel.ritm-form-container.auth-panel--register .auth-register-promo,
.auth-panel.ritm-form-container.auth-panel--register .auth-form-pane {
  opacity: 1 !important;
}
.auth-panel.ritm-form-container.auth-panel--register .auth-register-promo {
  transform: translateY(0) scale(1) !important;
}
.auth-panel.ritm-form-container.auth-panel--register .auth-form-pane {
  transform: translateY(0) !important;
}

/* Mode handoff: keep the surface mounted while the current form exits, then reveal the next one. */
.auth-panel.ritm-form-container.auth-transitioning .auth-form-pane {
  opacity: 0 !important;
  transition: opacity .24s ease, transform .26s cubic-bezier(.16,1,.3,1) !important;
}
.auth-panel.ritm-form-container.auth-switch-to-register .auth-form-pane {
  transform: translateX(72px) !important;
}
.auth-panel.ritm-form-container.auth-switch-to-login .auth-form-pane {
  transform: translateX(-72px) !important;
}
.auth-panel.ritm-form-container.auth-transition-enter .auth-form-pane {
  opacity: 0 !important;
  transform: translateX(28px) !important;
  transition: opacity .28s ease, transform .36s cubic-bezier(.16,1,.3,1) !important;
}

/* Move the modal surface itself during the handoff; the form stays in place inside it. */
.auth-panel.ritm-form-container.auth-transitioning .auth-form-pane {
  opacity: 1 !important;
  transform: none !important;
}
.auth-panel.ritm-form-container.auth-switch-to-register {
  transform: translateX(86px) !important;
}
.auth-panel.ritm-form-container.auth-switch-to-login {
  transform: translateX(-86px) !important;
}

/* Final handoff: all geometry changes run together; opening login itself stays still. */
.auth-dialog { overflow: hidden !important; }
.auth-dialog:not([hidden]) .auth-panel.ritm-form-container { animation: none !important; }
.auth-panel.ritm-form-container:not(.auth-panel--register) {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}
.auth-panel.ritm-form-container:not(.auth-panel--register) .auth-form-pane {
  opacity: 1 !important;
  transform: none !important;
}
.auth-panel.ritm-form-container.auth-switching-to-register {
  animation: auth-surface-to-register .52s cubic-bezier(.16,1,.3,1) both !important;
}
.auth-panel.ritm-form-container.auth-switching-to-login {
  animation: auth-surface-to-login .52s cubic-bezier(.16,1,.3,1) both !important;
}
.auth-dialog:not([hidden]) .auth-panel.ritm-form-container.auth-switching-to-register {
  animation: auth-surface-to-register .52s cubic-bezier(.16,1,.3,1) both !important;
}
.auth-dialog:not([hidden]) .auth-panel.ritm-form-container.auth-switching-to-login {
  animation: auth-surface-to-login .52s cubic-bezier(.16,1,.3,1) both !important;
}
@keyframes auth-surface-to-register {
  0% { transform: translateX(0); }
  42% { transform: translateX(86px); }
  100% { transform: translateX(0); }
}
@keyframes auth-surface-to-login {
  0% { transform: translateX(0); }
  42% { transform: translateX(-86px); }
  100% { transform: translateX(0); }
}

/* Geometry is animated by one FLIP timeline in portal-account.js; disable competing CSS timelines. */
.auth-panel.ritm-form-container,
.auth-panel.ritm-form-container .auth-transition-shell,
.auth-panel.ritm-form-container .auth-register-promo,
.auth-panel.ritm-form-container .auth-form-pane {
  animation: none !important;
  transition: none !important;
}

/* Lower the registration promo content while keeping the brand and footer anchored. */
.auth-panel--register .promo-content {
  margin-top: clamp(78px, 12vh, 150px) !important;
}
@media (max-width: 960px) {
  .auth-panel--register .promo-content {
    margin-top: 32px !important;
  }
}

/* Ritmik avatar replaces the text footer and stays anchored to the bottom edge. */
.auth-panel--register .ritmik-footer-avatar {
  display: flex !important;
  align-items: flex-end !important;
  min-height: 44px;
  margin-top: auto !important;
  color: #818cf8;
}
.auth-panel--register .ritmik-hero {
  transform-origin: 50% 100%;
  animation: ritmik-float 3.8s ease-in-out infinite;
}
.auth-panel--register .ritmik-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}
.auth-panel--register .auth-form-pane .ritm-form {
  row-gap: 27px !important;
}
@keyframes ritmik-float {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-8px) rotate(-1deg); }
}
@media (prefers-reduced-motion: reduce) {
  .auth-panel--register .ritmik-hero { animation: none !important; }
}

/* Keep the legal footer at the actual bottom of the full promo column. */
.auth-panel--register .auth-transition-shell {
  height: 100% !important;
  min-height: 100% !important;
  align-items: stretch !important;
}
.auth-panel--register .auth-register-promo.promo-side {
  height: 100% !important;
  min-height: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}
.auth-panel--register .auth-promo-footer.promo-footer {
  display: block !important;
  margin-top: auto !important;
  align-self: flex-start !important;
  flex: 0 0 auto !important;
}
@media (max-width: 960px) {
  .auth-panel--register .auth-register-promo.promo-side {
    height: auto !important;
    min-height: 430px !important;
  }
}

/* The home-page CTA opens registration with a calm lateral reveal. */
@keyframes ritm-auth-register-open {
  from { opacity: 0; transform: translateX(28px) scale(.985); }
  to { opacity: 1; transform: translateX(0) scale(1); }
}
.auth-dialog.auth-entry-register:not([hidden]) .auth-panel {
  animation: ritm-auth-register-open .42s cubic-bezier(.16,1,.3,1) both !important;
}
@media (prefers-reduced-motion: reduce) {
  .auth-dialog.auth-entry-register:not([hidden]) .auth-panel { animation: none !important; }
}
