/* Light reference palette and a single coherent motion language. */
:root{color-scheme:light;--r-orange:#ff4b23;--r-yellow:#ffda26;--r-paper:#f8f8f8;--r-ink:#1a1a1a;--r-muted:#c9c9c9}
body.ramos-home,body.ref-page{background:#fff;color:#1a1a1a;--ref-paper:#fff;--ref-white:#fff;--ref-ink:#1a1a1a;--ref-muted:#777;--ref-line:#e7e7e7;--ref-coral:#ff4b23;--ref-peach:#ffda26;--ref-charcoal:#171717}
body.ref-page a{color:inherit}body.ref-page .r-footer a{text-decoration:none;color:inherit}
body.ramos-home .nav,body.ref-page .nav{background:#1a1a1a;border:0;box-shadow:none}
body.ramos-home .nav-links a.active,body.ref-page .nav-links a.active{color:#fff;background:none}
.r-hero-row--one,.r-hero-row--one .hero-word{font-size:1em}
.r-hero-title{font-weight:500;letter-spacing:-.035em}
.r-hero-film{top:19.5vw}.r-film-toggle{border-color:#fff;transition:transform .45s cubic-bezier(.22,1,.36,1),background .3s}.r-film-toggle:hover{transform:scale(1.1);background:#222}
.r-disc--yellow{color:#222}.r-mini-bars i{background:#222}
.r-footer{font-family:Urbanist,Arial,sans-serif;background:#1a1a1a;color:white}.r-footer-word{display:flex;align-items:center;gap:1vw}.r-footer-word img{width:8vw;height:8vw}.r-footer-top nav a:hover,.r-footer-middle a:hover{color:#fff}
.r-section-heading h2,.r-solutions h2{font-weight:500}.r-feature-grid,.r-tools-grid{gap:1.5vw}
.r-fast,.r-widget,.r-tool-card{transition:box-shadow .6s cubic-bezier(.22,1,.36,1),border-color .5s}
.r-fast:hover,.r-tool-card:hover{box-shadow:0 25px 60px #00000008;border-color:#d8d8d8}
.r-tool-art{perspective:900px}.r-stack-card,.r-report-main,.r-report-layer{transition:translate .7s cubic-bezier(.22,1,.36,1),rotate .7s cubic-bezier(.22,1,.36,1)}
.r-tool-card:hover .r-stack-card--back{translate:-6px -8px;rotate:-3deg}.r-tool-card:hover .r-stack-card--front{translate:6px -4px;rotate:3deg}
.r-tool-card:hover .r-report-main{translate:0 6px}.r-tool-card:hover .r-report-layer:first-child{translate:0 -10px}.r-tool-card:hover .r-report-layer:nth-child(2){translate:0 -4px}
.r-widget-visual>div{transition:transform .7s cubic-bezier(.22,1,.36,1),border-color .5s}.r-widget:hover .r-widget-visual>div:first-child{transform:translateY(-7px) rotate(-4deg);border-color:#555}.r-widget:hover .r-widget-visual>div:last-child{transform:translateY(4px) rotate(3deg);border-color:#555}
.r-button,.nav-cta{position:relative;overflow:hidden}.r-button:after{content:"↗";display:inline-block;width:0;opacity:0;transform:translate(-6px,5px);transition:width .4s,opacity .4s,transform .4s}.r-button:hover:after{width:17px;opacity:1;transform:translate(5px,0)}
.r-contact-logo{transition:transform .8s cubic-bezier(.22,1,.36,1),box-shadow .8s}.r-contact:hover .r-contact-logo{transform:rotate(-8deg) translateY(-8px);box-shadow:0 25px 55px #ff4b2340}
.r-accordions details{transition:background .4s,box-shadow .4s}.r-accordions details[open]{box-shadow:0 18px 35px #00000007}.r-accordions summary:hover>span{background:#ffda26}
.ref-page .ref-service-band,.ref-page .ref-service-band:nth-child(even),.ref-page .ref-process,.ref-page .ref-faq,.ref-page .ref-story,.ref-page .ref-number-row,.ref-page .ref-timeline,.ref-page .ref-values,.ref-page .ref-case-info{background:#fff;color:#1a1a1a}
.ref-page .ref-service-band{border-color:#e7e7e7;padding-block:90px}.ref-page .ref-service-band:nth-child(even){background:#fafafa}
.ref-page .ref-service-copy h2{font-size:clamp(35px,4.2vw,70px);letter-spacing:-.035em;line-height:1.08}
.ref-page .ref-service-copy p,.ref-page .ref-process-step p,.ref-page .ref-value p,.ref-page .ref-timeline-row p{font-size:15px;line-height:1.6;color:#777}
.ref-page .ref-service-tags span{font-size:12px;padding:10px 16px;border-color:#ddd;border-radius:50px;color:#555;transition:background .35s,color .35s}.ref-page .ref-service-tags span:hover{background:#1a1a1a;color:white}
.ref-page .ref-service-art{border-radius:28px;min-height:350px;transition:transform .8s cubic-bezier(.22,1,.36,1)}.ref-page .ref-service-band:hover .ref-service-art{transform:translateY(-8px)}
.ref-page .ref-mosaic{gap:14px}.ref-page .ref-mosaic-tile{border-radius:22px;transition:translate .7s}.ref-page .ref-mosaic-tile:hover{translate:0 -8px}
.ref-page .ref-case{margin-bottom:30px;border:1px solid #e7e7e7;border-radius:28px;box-shadow:0 15px 30px #00000003}
.ref-page .ref-case-info h2{line-height:1.05;letter-spacing:-.04em}.ref-case-visual>*{transition:transform .8s cubic-bezier(.22,1,.36,1)}.ref-case:hover .ref-case-visual>*{transform:scale(1.06) rotate(-2deg)}
.ref-page .ref-case-meta span{font-size:11px;letter-spacing:.03em}.ref-page .ref-values__heading h2,.ref-page .ref-story h2,.ref-page .ref-process__heading h2,.ref-page .ref-timeline h2{letter-spacing:-.04em;line-height:1.06}
.ref-page .ref-contact{background:#171717;color:white}.ref-page .ref-mission{background:#171717}.ref-page .ref-faq-row{border-color:#ddd}
body.ref-work .ref-work-cta{position:relative;margin:0 18px 28px;padding:0;overflow:hidden;border-radius:42px;background:#ff4b23;color:#181818}
body.ref-work .ref-work-cta:before{content:"";position:absolute;width:34vw;height:34vw;right:-8vw;bottom:-20vw;border:1px solid #18181830;border-radius:50%;box-shadow:0 0 0 5vw #ffda2628,0 0 0 10vw #fff1;pointer-events:none}
body.ref-work .ref-work-cta .ref-shell{position:relative;z-index:1;width:auto;max-width:none;padding:48px clamp(32px,6vw,86px) 58px}
body.ref-work .ref-work-cta .ref-contact__topline{padding:0 0 38px;border-bottom:1px solid #18181835;color:#181818}
body.ref-work .ref-work-cta .ref-live-dot{background:#181818;box-shadow:none}
.ref-work-cta__hero{display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:40px;padding:68px 0 54px}
body.ref-work .ref-work-cta h2{max-width:850px;margin:0;color:#181818;font-size:clamp(64px,9.2vw,138px);line-height:.88;letter-spacing:-.065em}
body.ref-work .ref-work-cta h2 em{color:#fff;font-style:normal}
.ref-work-cta__orbit{position:relative;width:160px;height:160px;border:1px solid #181818;border-radius:50%;display:grid;place-items:center;transition:transform .8s cubic-bezier(.22,1,.36,1),background .4s}
.ref-work-cta__orbit:before,.ref-work-cta__orbit:after{content:"";position:absolute;inset:18px;border:1px solid #18181860;border-radius:50%}.ref-work-cta__orbit:after{inset:42px;background:#181818;border:0}
.ref-work-cta__orbit span{position:absolute;width:210px;height:1px;background:#181818;transform:rotate(-28deg)}
.ref-work-cta__orbit i{position:relative;z-index:2;color:white;font:400 26px Urbanist,sans-serif;font-style:normal}
body.ref-work .ref-work-cta:hover .ref-work-cta__orbit{transform:rotate(28deg) scale(1.06);background:#ffda26}
body.ref-work .ref-work-cta .ref-contact__body{display:grid;grid-template-columns:minmax(240px,480px) auto;align-items:end;margin:0;padding-top:34px;border-top:1px solid #18181835}
body.ref-work .ref-work-cta .ref-contact__body p{margin:0;color:#181818;font-size:clamp(16px,1.55vw,21px);line-height:1.4}
body.ref-work .ref-work-cta .ref-contact__email{display:inline-flex;align-items:center;gap:26px;padding:17px 20px 17px 26px;border:0;border-radius:14px;background:#181818;color:#fff;font-size:16px;transition:transform .35s,background .35s}
body.ref-work .ref-work-cta .ref-contact__email span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ffda26;color:#181818}
body.ref-work .ref-work-cta .ref-contact__email:hover{transform:translateY(-5px);background:#2a2a2a}
.r-case-button{border:0;background:#ff4b23;color:white;padding:12px 18px;border-radius:10px;font:400 14px Urbanist,sans-serif;cursor:pointer;margin-top:18px;align-self:start;transition:background .3s,transform .3s}.r-case-button:hover{background:#171717;transform:translateY(-3px)}
.case-dialog{width:min(800px,92vw);padding:clamp(25px,5vw,65px);border:0;border-radius:28px;background:white;color:#222;font-family:Urbanist,sans-serif}.case-dialog[open]{animation:dialog-in .5s cubic-bezier(.22,1,.36,1)}
.case-dialog::backdrop{background:#0008;backdrop-filter:blur(10px)}.case-dialog h2{font-size:clamp(34px,5vw,60px);line-height:1.05;letter-spacing:-.03em;margin:20px 0}.case-dialog p{color:#777;font-size:17px;line-height:1.6}.case-dialog small{color:#ff4b23}.case-dialog button{float:right;background:#f2f2f2;color:#222;border:0;border-radius:50%;width:38px;height:38px;cursor:pointer}.case-dialog a{display:inline-block;margin-top:24px;padding:12px 20px;background:#ff4b23;color:#fff!important;border-radius:10px}
body .page-wipe{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;isolation:isolate}
.transition-brand{width:64px;height:64px;display:grid;place-items:center;border-radius:20px;background:#ff4b23}.transition-brand img{width:42px;height:42px}
.transition-name{font:500 clamp(45px,7vw,100px)/1 Urbanist,sans-serif;letter-spacing:-.04em;color:white}
.transition-caption{font:400 12px Urbanist,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#888}
body.is-leaving{overflow:hidden}body.is-leaving .nav{pointer-events:none}
.intro.route-entry>span{font-size:clamp(45px,7vw,100px)}
@keyframes dialog-in{from{opacity:0;transform:translateY(25px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:650px){
.r-hero-row--one,.r-hero-row--one .hero-word{font-size:1em}.r-hero-film{top:auto}
.ref-page .ref-service-band{padding-block:45px}.ref-page .ref-service-art{min-height:245px;border-radius:20px}
.ref-page .ref-service-copy p,.ref-page .ref-process-step p,.ref-page .ref-value p,.ref-page .ref-timeline-row p{font-size:13px}
.ref-page .ref-service-tags span{font-size:10px;padding:8px 11px}
.ref-page .ref-faq-row p{display:block;grid-column:2;font-size:12px}.ref-page .ref-faq-row b{grid-column:3;grid-row:1}.ref-page .ref-case{border-radius:20px}
.r-footer-word img{width:12vw;height:12vw}.r-footer-word{font-size:21vw}.r-feature-grid,.r-tools-grid{gap:16px}
body.ref-work .ref-work-cta{margin:0 10px 16px;border-radius:26px}body.ref-work .ref-work-cta .ref-shell{padding:28px 22px 30px}.ref-work-cta__hero{display:block;padding:48px 0 38px}body.ref-work .ref-work-cta h2{font-size:15vw;line-height:.92}.ref-work-cta__orbit{width:92px;height:92px;margin:30px 0 0 auto}.ref-work-cta__orbit:before{inset:12px}.ref-work-cta__orbit:after{inset:28px}.ref-work-cta__orbit span{width:120px}body.ref-work .ref-work-cta .ref-contact__body{display:block;padding-top:24px}body.ref-work .ref-work-cta .ref-contact__body p{font-size:14px;margin-bottom:25px}body.ref-work .ref-work-cta .ref-contact__email{font-size:14px;width:100%;justify-content:space-between}
}
@media(prefers-reduced-motion:reduce){.r-tool-card:hover *,.r-widget:hover *,.ref-page .ref-service-band:hover .ref-service-art{transform:none!important;translate:none!important;rotate:none!important}.transition-brand{animation:none}}

/* Branded preloader: a short, editorial opening sequence shared by every page. */
.intro{isolation:isolate;background:#171717!important;color:#fff!important;overflow:hidden;transition:opacity .7s cubic-bezier(.22,1,.36,1),visibility .7s}.intro:before,.intro:after{content:"";position:absolute;z-index:-1;border:1px solid #ffffff1c;border-radius:50%;pointer-events:none}.intro:before{width:min(72vw,920px);height:min(72vw,920px);top:50%;left:50%;transform:translate(-50%,-50%) scale(.72);animation:loader-ring 1.35s cubic-bezier(.22,1,.36,1) both}.intro:after{width:min(43vw,550px);height:min(43vw,550px);top:50%;left:50%;transform:translate(-50%,-50%) scale(.55);animation:loader-ring 1.35s .09s cubic-bezier(.22,1,.36,1) both}.loader-noise{position:absolute;z-index:-1;inset:0;opacity:.28;background:radial-gradient(circle at 22% 18%,#ff4b231d,transparent 26%),radial-gradient(circle at 79% 78%,#ffda261a,transparent 24%)}.loader-top,.loader-bottom{position:absolute;right:clamp(22px,4vw,62px);left:clamp(22px,4vw,62px);display:flex;align-items:center;justify-content:space-between;font:500 10px "DM Mono",monospace;letter-spacing:.1em}.loader-top{top:clamp(22px,4vw,52px);color:#aaa}.loader-status{color:#ffda26}.loader-status:before{content:"";display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:#ff4b23;box-shadow:0 0 14px #ff4b23;animation:loader-pulse 1s ease-in-out infinite}.loader-center{position:relative;display:grid;place-items:center;gap:18px;text-align:center}.loader-mark{position:relative;display:grid;width:78px;height:78px;place-items:center;border:1px solid #ffffff33;border-radius:20px;background:#ff4b23;box-shadow:0 18px 50px #0005;animation:loader-mark .9s .08s cubic-bezier(.22,1,.36,1) both}.loader-mark img{width:47px;height:47px}.loader-word{display:flex;align-items:baseline;justify-content:center;overflow:hidden;font:500 clamp(58px,8vw,124px)/.8 Urbanist,Manrope,Arial,sans-serif;letter-spacing:-.08em}.loader-title{display:inline-block;animation:loader-word .8s .18s cubic-bezier(.22,1,.36,1) both}.loader-word i{font-style:normal;color:#ff4b23;animation:loader-word .8s .27s cubic-bezier(.22,1,.36,1) both}.loader-center p{margin:0;color:#a9a9a9;font:500 10px "DM Mono",monospace;letter-spacing:.19em;animation:loader-fade .6s .45s both}.loader-bottom{bottom:clamp(22px,4vw,52px);gap:14px;color:#8b8b8b}.loader-count{min-width:28px;color:#fff}.loader-track{position:relative;flex:1;height:1px;max-width:calc(100% - 90px);overflow:hidden;background:#ffffff29}.loader-track i{position:absolute;inset:0 auto 0 0;width:0;background:#ff4b23;animation:loader-progress 1s .04s cubic-bezier(.45,0,.25,1) forwards}.intro.route-entry .loader-word{font-size:clamp(43px,6vw,90px)}.intro.is-gone .loader-center{transform:translateY(-7vh) scale(.94);opacity:0}.intro.is-gone .loader-top,.intro.is-gone .loader-bottom{opacity:0}.intro.is-gone:before,.intro.is-gone:after{transform:translate(-50%,-50%) scale(1.1);opacity:0}.loader-center,.loader-top,.loader-bottom,.intro:before,.intro:after{transition:transform .65s cubic-bezier(.22,1,.36,1),opacity .48s ease}
@keyframes loader-mark{from{transform:scale(.2) rotate(-24deg);opacity:0}to{transform:none;opacity:1}}@keyframes loader-word{from{transform:translateY(115%);opacity:0}to{transform:none;opacity:1}}@keyframes loader-fade{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}@keyframes loader-progress{to{width:100%}}@keyframes loader-ring{from{opacity:0}to{opacity:1}}@keyframes loader-pulse{50%{transform:scale(.55);opacity:.45}}
@media(max-width:650px){.loader-mark{width:62px;height:62px;border-radius:16px}.loader-mark img{width:38px;height:38px}.loader-center{gap:15px}.loader-center p{font-size:8px;letter-spacing:.14em}.loader-top,.loader-bottom{font-size:8px}}
@media(prefers-reduced-motion:reduce){.loader-mark,.loader-title,.loader-word i,.loader-center p,.loader-track i,.intro:before,.intro:after{animation:none}.loader-track i{width:100%}.loader-status:before{animation:none}.intro.is-gone .loader-center,.intro.is-gone .loader-top,.intro.is-gone .loader-bottom,.intro.is-gone:before,.intro.is-gone:after{transform:none}}

/* Home opening: bring the headline closer to the floating navigation. */
body.ramos-home .r-hero{padding-top:clamp(118px,12.2vw,176px);padding-bottom:8vw}body.ramos-home .r-hero-film{top:14.2vw}@media(max-width:650px){body.ramos-home .r-hero{padding-top:105px;padding-bottom:80px}body.ramos-home .r-hero-film{margin-top:26px}}

/* Compact product-style loader: logo, wordmark, orange progress line, then a vertical exit. */
body.ramos-home .intro,body.ref-page .intro{background:#1a1a1a!important;color:#fff!important;overflow:hidden;transition:transform .95s var(--r-ease),visibility .95s}body.ramos-home .intro:before,body.ramos-home .intro:after,body.ref-page .intro:before,body.ref-page .intro:after{display:none}body.ramos-home .intro>i,body.ref-page .intro>i{display:block;position:absolute;right:0;bottom:0;left:0;width:100%;height:4px;transform:scaleX(0);transform-origin:left;background:#ff4b23;animation:r-load .7s var(--r-ease) forwards}body.ramos-home .intro.is-gone,body.ref-page .intro.is-gone{transform:translateY(-100%);opacity:1;visibility:hidden}

/* Restore the compact original page loader. */
.intro{background:var(--bg)!important;color:var(--text)!important;overflow:visible}.intro:before,.intro:after{display:none}.intro .loader-noise,.intro .loader-top,.intro .loader-center,.intro .loader-bottom{display:none}

body.ramos-home .intro,body.ref-page .intro{background:#1a1a1a!important;color:#fff!important;overflow:hidden}body.ramos-home .intro>i,body.ref-page .intro>i{display:block}

/* The old page curtain is fully removed; the intro loader is the only full-screen transition. */
body.ramos-home .page-wipe,body.ref-page .page-wipe{display:none!important}

/* Larger shared loader mark and page label. */
body.ramos-home .intro img,body.ref-page .intro img{width:58px;height:58px}body.ramos-home .intro>span,body.ref-page .intro>span{font-size:46px;letter-spacing:-1.6px}@media(max-width:650px){body.ramos-home .intro img,body.ref-page .intro img{width:49px;height:49px}body.ramos-home .intro>span,body.ref-page .intro>span{font-size:39px}}

body.ramos-home .intro img,body.ref-page .intro img{width:76px;height:76px}body.ramos-home .intro>span,body.ref-page .intro>span{font-size:62px;letter-spacing:-2.2px}@media(max-width:650px){body.ramos-home .intro img,body.ref-page .intro img{width:62px;height:62px}body.ramos-home .intro>span,body.ref-page .intro>span{font-size:50px}}

