@import url("https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Inter:wght@300;400;500;600&display=swap");
:root{--rp-dark:#161616;--rp-gold:#B8860B;--rp-gold-light:#d4a843;--rp-white:#f5f2ed;--rp-gray:#8a8a8a;--rp-font-heading:"DM Serif Display",serif;--rp-font-body:"Inter",sans-serif}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
#r2-app{background:var(--rp-dark);color:var(--rp-white);font-family:var(--rp-font-body);overflow-x:hidden;line-height:1.6;font-weight:300}
#r2-app h1,#r2-app h2,#r2-app h3{font-family:var(--rp-font-heading);font-weight:400;line-height:1.1}
#r2-app a{color:inherit;text-decoration:none}
#r2-app img{max-width:100%;display:block}

/* CURSOR */
.rp-cursor{position:fixed;width:20px;height:20px;border:1px solid var(--rp-gold);border-radius:50%;pointer-events:none;z-index:9999;transition:transform .2s ease,opacity .2s;mix-blend-mode:difference}
.rp-cursor.active{transform:scale(3);opacity:.6}

/* NAV */
.rp-nav{position:fixed;top:0;left:0;width:100%;padding:24px 48px;display:flex;justify-content:space-between;align-items:center;z-index:100;mix-blend-mode:difference}
.rp-nav__logo{font-family:var(--rp-font-heading);font-size:1.4rem;color:var(--rp-white);letter-spacing:2px}
.rp-nav__links{display:flex;gap:32px;font-size:.85rem;letter-spacing:1px;text-transform:uppercase}
.rp-nav__links a{opacity:.7;transition:opacity .3s}
.rp-nav__links a:hover{opacity:1;color:var(--rp-gold)}

/* HERO */
.rp-hero{position:relative;height:100vh;display:flex;align-items:flex-end;justify-content:flex-start;padding:80px 48px;overflow:hidden}
.rp-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.1);transition:transform 8s ease-out}
.rp-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(22,22,22,.85) 0%,rgba(22,22,22,.2) 50%,rgba(22,22,22,.4) 100%)}
.rp-hero__content{position:relative;z-index:2;max-width:700px}
.rp-hero__subtitle{font-size:.85rem;letter-spacing:4px;text-transform:uppercase;color:var(--rp-gold);margin-bottom:16px}
.rp-hero__title{font-size:clamp(3rem,7vw,5.5rem);margin-bottom:24px;opacity:0;transform:translateY(40px)}
.rp-hero__desc{font-size:1.1rem;opacity:.7;max-width:480px;margin-bottom:32px}
.rp-hero__scroll{position:absolute;bottom:40px;right:48px;writing-mode:vertical-rl;font-size:.75rem;letter-spacing:3px;text-transform:uppercase;opacity:.5;animation:rp-float 2s ease-in-out infinite}
@keyframes rp-float{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}

/* BUTTONS */
.rp-btn{display:inline-flex;align-items:center;gap:12px;padding:16px 36px;border:1px solid var(--rp-gold);color:var(--rp-gold);font-size:.85rem;letter-spacing:2px;text-transform:uppercase;transition:all .4s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden;cursor:pointer;background:transparent}
.rp-btn::before{content:"";position:absolute;inset:0;background:var(--rp-gold);transform:translateX(-101%);transition:transform .4s cubic-bezier(.25,.46,.45,.94)}
.rp-btn:hover::before{transform:translateX(0)}
.rp-btn:hover{color:var(--rp-dark)}
.rp-btn span{position:relative;z-index:1}

/* HORIZONTAL SCROLL SHOWCASE */
.rp-showcase{position:relative;overflow:hidden}
.rp-showcase__header{padding:120px 48px 60px;display:flex;justify-content:space-between;align-items:flex-end}
.rp-showcase__header h2{font-size:clamp(2.5rem,5vw,4rem)}
.rp-showcase__header p{opacity:.5;max-width:400px;text-align:right}
.rp-showcase__track{display:flex;gap:32px;padding:0 48px 120px;width:max-content}
.rp-showcase__card{width:420px;flex-shrink:0;position:relative;overflow:hidden;cursor:pointer}
.rp-showcase__card img{width:100%;height:520px;object-fit:cover;transition:transform .8s cubic-bezier(.25,.46,.45,.94)}
.rp-showcase__card:hover img{transform:scale(1.05)}
.rp-showcase__card-info{padding:24px 0}
.rp-showcase__card-info h3{font-size:1.5rem;margin-bottom:8px}
.rp-showcase__card-info .price{color:var(--rp-gold);font-size:1.1rem;font-weight:500}
.rp-showcase__card-info .meta{opacity:.5;font-size:.85rem;margin-top:4px}

/* ABOUT */
.rp-about{padding:160px 48px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.rp-about__img{height:600px;overflow:hidden}
.rp-about__img img{width:100%;height:100%;object-fit:cover}
.rp-about__text h2{font-size:clamp(2rem,4vw,3.5rem);margin-bottom:32px}
.rp-about__text p{opacity:.7;margin-bottom:20px;font-size:1.05rem}
.rp-about__text .rp-gold{color:var(--rp-gold)}

/* SERVICES */
.rp-services{padding:120px 48px;border-top:1px solid rgba(184,134,11,.15)}
.rp-services h2{font-size:clamp(2rem,4vw,3.5rem);margin-bottom:80px;text-align:center}
.rp-services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.rp-services__item{padding:48px 32px;border:1px solid rgba(184,134,11,.15);transition:border-color .4s,transform .4s}
.rp-services__item:hover{border-color:var(--rp-gold);transform:translateY(-4px)}
.rp-services__item h3{font-size:1.4rem;margin-bottom:16px;color:var(--rp-gold)}
.rp-services__item p{opacity:.6;font-size:.95rem}

/* TEAM */
.rp-team{padding:120px 48px}
.rp-team h2{font-size:clamp(2rem,4vw,3.5rem);margin-bottom:80px;text-align:center}
.rp-team__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.rp-team__member{text-align:center}
.rp-team__member-photo{width:100%;aspect-ratio:3/4;background:rgba(184,134,11,.1);margin-bottom:20px;overflow:hidden}
.rp-team__member-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3);transition:filter .4s}
.rp-team__member:hover .rp-team__member-photo img{filter:grayscale(0)}
.rp-team__member h3{font-size:1.1rem;margin-bottom:4px}
.rp-team__member p{opacity:.5;font-size:.85rem}

/* DISTRICTS */
.rp-districts{padding:120px 48px;border-top:1px solid rgba(184,134,11,.15)}
.rp-districts h2{font-size:clamp(2rem,4vw,3.5rem);margin-bottom:80px;text-align:center}
.rp-districts__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rp-districts__item{position:relative;height:400px;overflow:hidden;cursor:pointer}
.rp-districts__item img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.rp-districts__item:hover img{transform:scale(1.08)}
.rp-districts__item::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(22,22,22,.8) 0%,transparent 60%)}
.rp-districts__item-info{position:absolute;bottom:32px;left:32px;z-index:2}
.rp-districts__item-info h3{font-size:1.5rem;margin-bottom:4px}
.rp-districts__item-info p{opacity:.6;font-size:.85rem}

/* TESTIMONIALS */
.rp-testimonials{padding:120px 48px;text-align:center}
.rp-testimonials h2{font-size:clamp(2rem,4vw,3.5rem);margin-bottom:80px}
.rp-testimonials__item{max-width:700px;margin:0 auto}
.rp-testimonials__item blockquote{font-family:var(--rp-font-heading);font-size:1.6rem;font-style:italic;margin-bottom:24px;line-height:1.5}
.rp-testimonials__item cite{opacity:.5;font-style:normal;font-size:.9rem}

/* STATS */
.rp-stats{padding:100px 48px;display:grid;grid-template-columns:repeat(4,1fr);gap:48px;border-top:1px solid rgba(184,134,11,.15);border-bottom:1px solid rgba(184,134,11,.15)}
.rp-stats__item{text-align:center}
.rp-stats__item .number{font-family:var(--rp-font-heading);font-size:clamp(2.5rem,5vw,4rem);color:var(--rp-gold);margin-bottom:8px}
.rp-stats__item p{opacity:.6;font-size:.9rem}

/* CTA */
.rp-cta{padding:160px 48px;text-align:center;position:relative}
.rp-cta h2{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:24px}
.rp-cta p{opacity:.6;margin-bottom:48px;font-size:1.1rem}

/* FOOTER */
.rp-footer{padding:80px 48px 40px;border-top:1px solid rgba(184,134,11,.15);display:grid;grid-template-columns:1fr 1fr 1fr;gap:48px}
.rp-footer__brand h3{font-family:var(--rp-font-heading);font-size:1.5rem;margin-bottom:12px}
.rp-footer__brand p{opacity:.5;font-size:.9rem}
.rp-footer__links h4{color:var(--rp-gold);margin-bottom:16px;font-size:.85rem;letter-spacing:2px;text-transform:uppercase}
.rp-footer__links a{display:block;opacity:.6;margin-bottom:8px;font-size:.9rem;transition:opacity .3s}
.rp-footer__links a:hover{opacity:1}
.rp-footer__copy{grid-column:1/-1;text-align:center;padding-top:40px;border-top:1px solid rgba(184,134,11,.1);opacity:.4;font-size:.8rem}

/* REVEAL ANIMATIONS */
.rp-reveal{opacity:0;transform:translateY(60px);transition:all 1s cubic-bezier(.25,.46,.45,.94)}
.rp-reveal.visible{opacity:1;transform:translateY(0)}

/* RESPONSIVE */
@media(max-width:1024px){
.rp-about{grid-template-columns:1fr;gap:40px}
.rp-services__grid{grid-template-columns:1fr 1fr}
.rp-team__grid{grid-template-columns:repeat(2,1fr)}
.rp-stats{grid-template-columns:repeat(2,1fr)}
.rp-footer{grid-template-columns:1fr}
}
@media(max-width:768px){
.rp-hero{padding:60px 24px}
.rp-showcase__header{padding:80px 24px 40px;flex-direction:column;align-items:flex-start;gap:16px}
.rp-showcase__track{padding:0 24px 80px}
.rp-showcase__card{width:320px}
.rp-services__grid{grid-template-columns:1fr}
.rp-districts__grid{grid-template-columns:1fr}
.rp-nav{padding:16px 24px}
.rp-nav__links{display:none}
}
