/* RS Group — agency layout: utility bar, light header, homepage sections. Extends site.css. */

/* ---- utility bar ---- */
.util{background:var(--ink);color:rgba(255,255,255,.75);font-size:.78rem}
.util-in{max-width:var(--maxw);margin:0 auto;padding:.5rem 2.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.util a{display:inline-flex;align-items:center;gap:.4rem;transition:color .2s}
.util a:hover{color:var(--orange)}
.util-l{display:flex;gap:1.6rem}
.util-r{display:flex;gap:1.2rem;align-items:center}
.util [data-icon] svg{width:1em;height:1em;color:var(--orange)}
.langs{display:inline-flex;border:1px solid rgba(255,255,255,.2);border-radius:999px;overflow:hidden}
.langs a,.langs span{padding:.18rem .6rem;font-weight:600;letter-spacing:.06em;font-size:.72rem}
.langs .on{background:var(--orange);color:#fff;pointer-events:none}

/* ---- light header ---- */
header.gh{position:sticky;top:0;z-index:60;background:#fff;box-shadow:0 1px 0 var(--grey-light)}
header.gh::before{display:none}
.gh-in{max-width:var(--maxw);margin:0 auto;height:4.6rem;padding:0 2.5rem;display:flex;align-items:center;justify-content:space-between}
.gh-logo b{display:block;font-family:'Manrope';font-weight:800;font-size:1.35rem;color:var(--ink);letter-spacing:.01em;line-height:1}
.gh-logo small{display:block;font-size:.56rem;letter-spacing:.4em;text-transform:uppercase;color:var(--grey-medium);margin-top:.35rem}
.gh-links{display:flex;align-items:center;gap:2rem}
.gh-links a{font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--charcoal);position:relative;padding:.3rem 0;transition:color .2s}
.gh-links a:hover,.gh-links a.on{color:var(--orange)}
.gh-links a.on:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--orange)}
.gh-links .gh-cta{background:var(--orange);color:#fff !important;padding:.7rem 1.2rem;border-radius:999px;letter-spacing:.04em}
.gh-links .gh-cta:hover{background:var(--orange-600)}
header.gh .burger span{background:var(--ink)}
body:has(header.gh) .mobile-menu.open{padding-top:8rem}

/* ---- hero ---- */
.h2hero{min-height:88vh}
.h2hero .content{padding-top:5rem}
.h2hero h1{max-width:18ch}
.btn.big{padding:1.05rem 1.9rem;font-size:.92rem}

/* ---- intro ---- */
.h2intro{background:#fff}
.h2intro .grid{display:grid;grid-template-columns:1fr 1.15fr;gap:4rem;align-items:end}
.prose-l{font-size:1.12rem;line-height:1.85;color:var(--charcoal)}

/* ---- stats ---- */
.h2stats .stat-grid.live{margin-top:1.4rem}
.h2stats .stat-grid.live .num{color:#fff;font-size:clamp(2rem,3.4vw,2.7rem)}
.live-l{margin-top:3rem;display:flex;align-items:center;gap:.6rem;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.live-l .dot{width:8px;height:8px;border-radius:50%;background:#2ecc71;box-shadow:0 0 0 4px rgba(46,204,113,.18)}

/* ---- featured / testimonials ---- */
.h2feat{background:var(--offwhite)}
.h2testi{background:#fff}
.arrows{display:flex;gap:.5rem}
.arw{width:46px;height:46px;border-radius:50%;border:1px solid var(--grey-light);background:#fff;font-size:1.1rem;cursor:pointer;transition:.2s}
.arw:hover{border-color:var(--orange);color:var(--orange)}
.tslider{margin-top:2.6rem;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 2.8rem)/3);gap:1.4rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:.4rem}
.tslider::-webkit-scrollbar{display:none}
.tslider .testi{scroll-snap-align:start;margin:0;background:var(--offwhite);border:0}
.stars{color:var(--orange);letter-spacing:.15em;margin-bottom:.8rem}
.stars span{color:var(--grey-light)}

/* ---- owners band ---- */
.h2own{background:var(--ink)}
.h2own .grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.osub{display:block;color:var(--orange);font-size:.6em;margin-top:.6rem}
.op{color:rgba(255,255,255,.7);margin:1.4rem 0 2rem;line-height:1.75;max-width:34rem}
.h2own .actions{display:flex;gap:.8rem;flex-wrap:wrap}
.osvc{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1)}
.os{background:var(--ink);padding:1.5rem;display:flex;gap:.9rem;align-items:center;color:#fff;font-size:.95rem;transition:background .3s}
.os:hover{background:#151515}
.os .ic{width:42px;height:42px;border-radius:2px;background:rgba(243,107,33,.12);color:var(--orange);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.15rem}

/* ---- process ---- */
.h2proc{background:#fff}
.ptrack{margin-top:3.2rem;display:flex;align-items:flex-start;gap:1rem}
.pmark{flex-shrink:0;margin-top:14px;font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;background:var(--ink);color:#fff;padding:.4rem .7rem;border-radius:999px}
.pmark.end{background:var(--orange)}
.psteps{list-style:none;display:grid;grid-template-columns:repeat(7,1fr);gap:1rem;flex:1;position:relative}
.psteps:before{content:"";position:absolute;left:0;right:0;top:27px;height:2px;background:var(--grey-light)}
.ps{position:relative}
.pn{width:56px;height:56px;border-radius:50%;background:#fff;border:2px solid var(--orange);color:var(--orange);display:flex;align-items:center;justify-content:center;position:relative;z-index:1;font-size:1.25rem}
.pn em{position:absolute;top:-8px;right:-10px;background:var(--ink);color:#fff;font-style:normal;font-family:'Manrope';font-weight:700;font-size:.62rem;border-radius:999px;padding:.15rem .4rem}
.ps h3{margin-top:1.1rem;font-size:.98rem;font-weight:700}
.ps p{margin-top:.45rem;font-size:.82rem;color:var(--grey-medium);line-height:1.55}

/* ---- neighbourhoods ---- */
.h2areas{background:var(--offwhite)}
.achips{margin-top:2.4rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.9rem}
.achip{background:#fff;border:1px solid var(--grey-light);border-radius:4px;padding:1.2rem 1.3rem;display:grid;grid-template-columns:auto 1fr;column-gap:.8rem;align-items:center;transition:.25s}
.achip:hover{border-color:var(--orange);transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.06)}
.achip [data-icon]{grid-row:span 2;color:var(--orange);font-size:1.3rem}
.achip b{font-family:'Manrope';font-size:1rem}
.achip small{color:var(--grey-medium);font-size:.8rem}

/* ---- values / leadership ---- */
.h2val{background:var(--ink)}
.h2lead{background:#fff}
.h2lgrid{display:grid;grid-template-columns:1.6fr 1fr;gap:2.4rem;margin-top:3rem;align-items:start}
.h2lgrid .founder-grid{margin-top:0;max-width:none}
.h2agents h3{font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--grey-medium);margin-bottom:1rem}
.h2agents .lcard{margin-bottom:.8rem}

/* ---- end CTA ---- */
.h2end{background:var(--offwhite)}
.endgrid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.endc{border-radius:4px;padding:3rem 2.6rem;display:block;transition:transform .3s}
.endc:hover{transform:translateY(-3px)}
.endc.rent{background:var(--ink);color:#fff}
.endc.own{background:var(--orange);color:#fff}
.endc h3{font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:800;line-height:1.15}
.endc p{margin:.9rem 0 1.8rem;opacity:.8;line-height:1.6;max-width:28rem}

/* ---- footer ---- */
.fgrid5{grid-template-columns:1.6fr 1fr 1fr 1.4fr}
.privnote{margin-top:2.6rem;font-size:.76rem;color:rgba(255,255,255,.45);line-height:1.6}
.privnote a{color:var(--orange)}

@media(max-width:1100px){.gh-links{gap:1.2rem}.gh-links a{font-size:.72rem}.psteps{grid-template-columns:repeat(4,1fr);row-gap:2rem}.psteps:before{display:none}}
@media(max-width:960px){
  .util-in,.gh-in{padding-left:1.3rem;padding-right:1.3rem}
  .hide-sm{display:none !important}
  .gh-links{display:none}
  .burger{display:flex}
  .h2intro .grid,.h2own .grid,.h2lgrid,.endgrid{grid-template-columns:1fr;gap:2rem}
  .tslider{grid-auto-columns:85%}
  .ptrack{flex-direction:column}
  .psteps{grid-template-columns:1fr 1fr}
  .pmark{margin-top:0}
  .fgrid5{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){.osvc{grid-template-columns:1fr}.psteps{grid-template-columns:1fr}.util-l a{font-size:.72rem}.fgrid5{grid-template-columns:1fr}}
.util a{white-space:nowrap}@media(max-width:560px){.util-in{padding:.45rem .9rem}.util-l a{font-size:.68rem}.util-r{gap:.6rem}.util-r>a{font-size:.68rem}}
