/* ==========================================================================
   Raghvendra Construction — main stylesheet
   Breakpoints match the original design:
     mobile  : max-width 819px
     tablet  : max-width 1149px (header switches to drawer, stats stack)
   ========================================================================== */

/* ---------- Fonts (self-hosted) ---------- */
@font-face{font-family:'Lato';font-style:normal;font-weight:300;font-display:swap;src:url("../fonts/lato-300-ext.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Lato';font-style:normal;font-weight:300;font-display:swap;src:url("../fonts/lato-300.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/lato-400-ext.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Lato';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/lato-400.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/lato-700-ext.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Lato';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/lato-700.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Marcellus';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/marcellus-ext.woff2") format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Marcellus';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/marcellus.woff2") format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --rc-gold:#DEB271;
  --rc-gold-dark:#BB9632;
  --rc-gold-light:#E5C18D;
  --rc-ink:#2C2E35;
  --rc-text:#555555;
  --rc-line:#E6E6E6;
  --rc-cream:#F7F4EE;
  --rc-cream-2:#FAF5EC;
  --rc-black:#0E0E10;
  --rc-serif:Optima,Marcellus,serif;
  --rc-sans:Lato,sans-serif;
  --rc-shadow:rgba(0,0,0,0.1) 0px 0px 6px 1px;
}

/* ---------- Base ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--rc-ink);font-family:var(--rc-sans);-webkit-font-smoothing:antialiased}
a{color:var(--rc-ink);text-decoration:none}
a:hover{color:var(--rc-gold)}
img{max-width:100%}
button,input,select,textarea{font-family:var(--rc-sans)}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.rc-desk-only{display:block}
.rc-mob-only{display:none}
@media (max-width:819px){.rc-desk-only{display:none!important}.rc-mob-only{display:block}}

@keyframes curtainT{from{transform:none}to{transform:translateY(-100%)}}
@keyframes curtainB{from{transform:none}to{transform:translateY(100%)}}
@keyframes introLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes introUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes ldSweep{from{transform:translateX(-100%)}to{transform:translateX(260%)}}
@keyframes ldLogo{from{opacity:0;transform:scale(.92);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes ldText{from{opacity:0;letter-spacing:14px}to{opacity:.85;letter-spacing:6px}}
@keyframes introKB{from{transform:scale(1.15)}to{transform:scale(1)}}

/* ---------- Shared bits ---------- */
.rc-h2{margin:0;font-family:var(--rc-serif);font-weight:400;color:var(--rc-gold);letter-spacing:2px;line-height:1.3}
.rc-h2 span{display:block}
.rc-h2__lg{font-size:clamp(28px,3vw,40px)}
.rc-h2__sm{font-size:clamp(18px,1.9vw,24px)}

.rc-divider{max-width:1240px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:12px}
.rc-divider__l{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--rc-gold))}
.rc-divider__r{flex:1;height:1px;background:linear-gradient(90deg,var(--rc-gold),transparent)}
.rc-divider__t{width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:12px solid var(--rc-gold)}

.rc-btn-outline{border:1px solid var(--rc-gold);color:var(--rc-gold-dark);padding:8px 24px;font-size:13px;letter-spacing:2px;display:inline-block}
.rc-btn-outline:hover{background:var(--rc-gold);color:#fff}
.rc-btn-outline--lg{padding:12px 36px;font-weight:700}
.rc-center{display:flex;justify-content:center}

/* ==========================================================================
   Intro: fixed-time brand opening -> curtains -> one looping video
   (pure CSS timeline: nothing waits on the network, so it can't get stuck)
   ========================================================================== */
.rc-intro{position:fixed;inset:0;z-index:200;background:#0E0E10 center/cover no-repeat;overflow:hidden;opacity:1;transition:opacity .5s ease,transform .6s ease}
.rc-intro.is-leaving{opacity:0;transform:scale(1.04)}
.rc-intro__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;background:transparent}
.rc-intro__shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(14,14,16,0.35) 0%,rgba(14,14,16,0.05) 35%,rgba(14,14,16,0.1) 60%,rgba(14,14,16,0.72) 100%)}
.rc-intro__logo{position:absolute;left:0;right:0;top:0;bottom:230px;display:flex;align-items:center;justify-content:center;pointer-events:none}
.rc-intro__logo img{height:240px;width:auto;max-width:80vw;object-fit:contain;display:block;filter:drop-shadow(0 4px 18px rgba(255,255,255,0.55)) drop-shadow(0 2px 6px rgba(0,0,0,0.35));animation:rcLogoIn 1.5s cubic-bezier(.2,.7,.2,1) 2.4s both}
@keyframes rcLogoIn{0%{opacity:0;transform:scale(.82);filter:blur(10px) drop-shadow(0 4px 18px rgba(255,255,255,0)) drop-shadow(0 2px 6px rgba(0,0,0,0))}60%{opacity:1}100%{opacity:1;transform:none;filter:blur(0) drop-shadow(0 4px 18px rgba(255,255,255,0.55)) drop-shadow(0 2px 6px rgba(0,0,0,0.35))}}
.rc-intro__caps{position:absolute;left:56px;right:56px;bottom:150px;display:grid;color:#fff;pointer-events:none;animation:introUp 1.1s 2.9s ease both}
.rc-intro__cap{grid-area:1/1;display:flex;flex-direction:column;gap:10px;opacity:0;transform:translateY(24px);transition:opacity 1s ease,transform 1.2s cubic-bezier(.2,.7,.2,1)}
.rc-intro__cap.is-on{opacity:1;transform:none}
.rc-intro__cap.is-past{opacity:0;transform:translateY(-24px)}
.rc-intro__dots{position:absolute;left:56px;bottom:62px;display:flex;gap:8px;align-items:center;pointer-events:none;animation:introUp 1s 3.1s ease both}
.rc-intro__dot{position:relative;width:90px;height:3px;background:rgba(255,255,255,0.3);border-radius:3px;overflow:hidden}
.rc-intro__dot span{position:absolute;inset:0;background:var(--rc-gold);transform-origin:left;transform:scaleX(0);transition:transform .3s linear}
.rc-intro__count{margin-left:8px;font-size:12px;letter-spacing:2px;color:#fff;opacity:.8}
/* opening: curtains + loader */
.rc-intro__curtain{position:absolute;left:0;right:0;height:50.5%;background:#0E0E10;z-index:3;pointer-events:none}
.rc-intro__curtain--t{top:0;animation:curtainT 1.3s cubic-bezier(.77,0,.18,1) 2s forwards}
.rc-intro__curtain--b{bottom:0;animation:curtainB 1.3s cubic-bezier(.77,0,.18,1) 2s forwards}
.rc-intro__loader{position:absolute;inset:0;z-index:4;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;background:radial-gradient(circle at 50% 45%,#24262C 0%,#0E0E10 70%);animation:rcLdOut .6s ease 1.8s forwards}
@keyframes rcLdOut{to{opacity:0;visibility:hidden}}
.rc-intro__loader img{height:130px;width:auto;max-width:70vw;display:block;animation:ldLogo 1.2s cubic-bezier(.2,.7,.2,1) both}
.rc-intro__bar{position:relative;width:200px;height:2px;background:rgba(222,178,113,0.18);overflow:hidden;border-radius:2px}
.rc-intro__bar span{position:absolute;top:0;bottom:0;width:40%;background:linear-gradient(90deg,transparent,var(--rc-gold),transparent);animation:ldSweep 1.4s ease-in-out infinite}
.rc-intro__ldtext{font-family:var(--rc-sans);font-size:12px;color:var(--rc-gold-light);text-transform:uppercase;animation:ldText 1.6s .3s ease both}
.rc-intro__kick{font-family:var(--rc-sans);font-size:13px;letter-spacing:4px;color:var(--rc-gold-light);font-weight:700}
.rc-intro__title{font-family:var(--rc-serif);font-size:clamp(40px,5vw,72px);line-height:1.1;letter-spacing:2px;max-width:720px}
.rc-intro__enter{position:absolute;z-index:2;right:56px;bottom:48px;display:flex;align-items:center;gap:16px;background:none;border:none;cursor:pointer;padding:10px 0;color:#fff;font-family:var(--rc-sans);font-size:19px;font-weight:800;letter-spacing:1px;animation:introUp 1s 3.1s ease both}
.rc-intro__enter:hover,.rc-intro__enter:focus-visible{color:var(--rc-gold-light)}
.rc-intro__enter span{display:block;width:200px;height:2px;background:currentColor;transform-origin:left;animation:introLine 1.2s 3.3s cubic-bezier(.7,0,.2,1) both}
@media (max-height:640px){.rc-intro__logo img{height:170px}}
@media (max-width:819px){
  .rc-intro__logo{bottom:200px}
  .rc-intro__logo img{height:140px}
  .rc-intro__loader img{height:92px}
  .rc-intro__bar{width:140px}
  .rc-intro__ldtext{font-size:10px}
  .rc-intro__caps{left:20px;right:20px;bottom:120px}
  .rc-intro__dots{left:20px;bottom:96px}
  .rc-intro__dot{width:48px}
  .rc-intro__kick{font-size:11px;letter-spacing:3px}
  .rc-intro__title{font-size:34px}
  .rc-intro__enter{left:20px;right:20px;bottom:34px;justify-content:flex-end;font-size:16px}
  .rc-intro__enter span{width:60px}
}
@media (prefers-reduced-motion:reduce){.rc-intro__logo img,.rc-intro__caps,.rc-intro__dots,.rc-intro__enter,.rc-intro__enter span,.rc-intro__loader img,.rc-intro__ldtext{animation:none}.rc-intro__loader{animation:rcLdOut .3s ease .8s forwards}.rc-intro__curtain{display:none}}

/* ==========================================================================
   Header
   ========================================================================== */
.rc-head-spacer{height:108px}
.rc-header{position:fixed;top:0;left:0;right:0;z-index:40;background:#fff;box-shadow:var(--rc-shadow)}
.admin-bar .rc-header{top:32px}
@media screen and (max-width:782px){.admin-bar .rc-header{top:46px}}
@media screen and (max-width:600px){#wpadminbar{position:fixed}}
@media (max-height:700px) and (min-width:820px){.rc-float__lbl,.rc-float__line{display:none}.rc-float{gap:10px;padding:10px 7px}}
.rc-header__in{max-width:1320px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.rc-logo{display:flex;align-items:center;line-height:0}
.rc-logo img{height:76px;width:auto;display:block}

.rc-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:15px}
.rc-nav__item{position:relative}
.rc-nav__link{display:flex;align-items:center;gap:6px;padding:10px 14px;border-left:1px solid #C7C9C9;color:var(--rc-ink)}
.rc-nav__link:hover{color:var(--rc-gold)}
.rc-nav__caret{font-size:10px;color:var(--rc-gold)}
.rc-nav__sub{position:absolute;top:100%;left:0;min-width:220px;background:#fff;box-shadow:var(--rc-shadow);border-top:2px solid var(--rc-gold);padding:8px 0;display:none;flex-direction:column;z-index:2}
.rc-nav__item:hover > .rc-nav__sub,.rc-nav__item:focus-within > .rc-nav__sub{display:flex}
.rc-nav__sub a{padding:10px 18px;font-size:15px;color:var(--rc-ink)}
.rc-nav__sub a:hover{background:var(--rc-cream-2);color:var(--rc-gold-dark)}
.rc-nav__icons{display:flex;gap:12px;margin-left:16px}
.rc-circle{width:40px;height:40px;border-radius:50px;background:var(--rc-gold);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px}
.rc-circle:hover{color:#fff}

.rc-mob-actions{display:none;gap:10px;align-items:center}
.rc-mob-actions .rc-circle{background:var(--rc-gold-dark);font-size:19px}
.rc-burger{width:40px;height:40px;border:none;border-radius:50px;background:var(--rc-gold-dark);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.rc-burger > span{display:flex;flex-direction:column;gap:4px;align-items:flex-end}
.rc-burger i{display:block;width:18px;height:2px;background:#fff;border-radius:2px}
.rc-burger i:nth-child(2){width:13px}

/* drawer */
.rc-drawer{position:fixed;inset:0;z-index:45;visibility:hidden;pointer-events:none;transition:visibility 0s linear .65s;display:none}
.rc-drawer.is-open{visibility:visible;pointer-events:auto;transition:visibility 0s linear 0s}
.rc-drawer__scrim{position:absolute;inset:0;background:rgba(20,20,24,0.45);opacity:0;transition:opacity .45s ease}
.rc-drawer.is-open .rc-drawer__scrim{opacity:1}
.rc-drawer__panel{position:absolute;top:0;right:0;bottom:0;width:min(400px,88vw);background:#fff;transform:translateX(100%);transition:transform .6s cubic-bezier(.77,0,.18,1);display:flex;flex-direction:column;overflow-y:auto;box-shadow:rgba(0,0,0,0.18) -8px 0 30px}
.rc-drawer.is-open .rc-drawer__panel{transform:none}
.rc-drawer__top{position:relative;display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #EFE6D6}
.rc-drawer__top img{height:58px;width:auto;display:block}
.rc-drawer__close{width:44px;height:44px;border-radius:50px;border:none;background:var(--rc-cream);color:var(--rc-ink);font-size:16px;cursor:pointer;transform:rotate(-180deg);transition:transform .6s cubic-bezier(.77,0,.18,1) .15s}
.rc-drawer.is-open .rc-drawer__close{transform:rotate(0deg)}
.rc-drawer__menu{position:relative;display:flex;flex-direction:column;padding:8px 22px}
.rc-mm{display:flex;flex-direction:column;border-bottom:1px solid #F0EBE2;opacity:0;transform:translateX(24px);transition:opacity .5s ease 0s,transform .6s cubic-bezier(.2,.7,.2,1) 0s}
.rc-drawer.is-open .rc-mm{opacity:1;transform:none;transition-delay:var(--d,0s),var(--d,0s)}
.rc-mm__row{display:flex;align-items:center;gap:14px}
.rc-mm__link{flex:1;padding:16px 0;font-family:var(--rc-sans);font-size:16px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--rc-ink)}
.rc-mm__link:hover{color:var(--rc-gold-dark)}
.rc-mm__btn{width:36px;height:36px;border-radius:50px;border:1px solid #E6DCC8;background:transparent;color:var(--rc-gold-dark);font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .4s ease,background .3s;padding:0}
.rc-mm__subwrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.2,.7,.2,1)}
.rc-mm__subwrap > div{overflow:hidden}
.rc-mm__sub{display:flex;flex-direction:column;padding:0 0 14px 4px}
.rc-mm__sub a{display:flex;align-items:center;gap:10px;padding:9px 0;font-size:15px;color:var(--rc-text)}
.rc-mm__sub a:hover{color:var(--rc-gold-dark)}
.rc-mm__sub a span{width:5px;height:5px;background:var(--rc-gold);transform:rotate(45deg);flex:none}
.rc-mm.is-open .rc-mm__link{color:var(--rc-gold-dark)}
.rc-mm.is-open .rc-mm__btn{transform:rotate(180deg);background:var(--rc-gold);color:#fff}
.rc-mm.is-open .rc-mm__subwrap{grid-template-rows:1fr}
.rc-drawer__foot{position:relative;margin-top:auto;padding:22px 22px 26px;display:flex;flex-direction:column;gap:12px;background:var(--rc-cream);border-top:1px solid #EFE6D6;opacity:0;transform:translateY(20px);transition:opacity .5s ease 0s,transform .6s cubic-bezier(.2,.7,.2,1) 0s}
.rc-drawer.is-open .rc-drawer__foot{opacity:1;transform:none;transition-delay:var(--d,.56s),var(--d,.56s)}
.rc-drawer__foot a{display:flex;align-items:center;gap:12px;color:var(--rc-ink);font-size:15px;font-weight:700}
.rc-drawer__foot a.rc-drawer__mail{font-size:14px;font-weight:400;word-break:break-all}
.rc-drawer__foot a > span{flex:none;width:36px;height:36px;border-radius:50px;background:var(--rc-gold);color:#fff;display:flex;align-items:center;justify-content:center}
.rc-drawer__foot a.rc-drawer__wa{margin-top:6px;justify-content:center;text-align:center;background:var(--rc-gold);color:#fff;border-radius:50px;padding:13px 20px;font-size:13px;font-weight:700;letter-spacing:2px}

@media (max-width:1149px){
  .rc-nav{display:none}
  .rc-mob-actions{display:flex}
  .rc-drawer{display:block}
}
@media (max-width:819px){
  .rc-header__in{padding:10px 16px;gap:10px}
  .rc-logo img{height:52px}
  .rc-head-spacer{height:72px}
}

/* ==========================================================================
   Hero slider
   ========================================================================== */
:root{--rc-head:108px;--rc-ab:0px}
.admin-bar{--rc-ab:32px}
@media screen and (max-width:782px){.admin-bar{--rc-ab:46px}}
.rc-hero{touch-action:pan-y;position:relative;height:min(calc(100vh - var(--rc-head) - var(--rc-ab)),760px);height:min(calc(100svh - var(--rc-head) - var(--rc-ab)),760px);min-height:440px;overflow:hidden;background:var(--rc-ink);color:#fff}
.rc-hero__slide{position:absolute;inset:0;background-image:var(--bg);background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease;will-change:opacity}
@media (max-width:819px) and (orientation:portrait){.rc-hero__slide{background-image:var(--bg-m)}}
.rc-hero__slide[data-wait]{background-image:none}
.rc-hero__slide.is-active{opacity:1}
.rc-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,20,24,0.78) 0%,rgba(20,20,24,0.35) 45%,rgba(20,20,24,0) 70%)}
.rc-hero__body{position:relative;max-width:1320px;height:100%;margin:0 auto;padding:0 44px;display:flex;flex-direction:column;justify-content:center;gap:16px;color:#fff}
.rc-hero__reg{font-size:13px;letter-spacing:1px;opacity:.85}
.rc-hero__tag{align-self:flex-start;border:1px solid #fff;padding:4px 10px;font-size:13px;letter-spacing:2px}
.rc-hero__title{margin:0;font-family:var(--rc-serif);font-weight:400;font-size:clamp(32px,4.4vw,56px);line-height:1.1;letter-spacing:2px;max-width:560px}
.rc-hero__sub{font-family:var(--rc-serif);font-size:clamp(20px,2vw,28px);letter-spacing:1px}
.rc-hero__btn{align-self:flex-start;margin-top:12px;background:#fff;color:var(--rc-gold-dark);padding:12px 32px;font-size:15px;font-weight:700;letter-spacing:2px}
.rc-hero__btn:hover{background:var(--rc-gold);color:#fff}
.rc-hero__dots{position:absolute;bottom:28px;left:0;right:0;display:flex;justify-content:center;gap:8px}
.rc-hero__dots button{width:12px;height:12px;border:none;padding:0;cursor:pointer;background:#fff}
.rc-hero__dots button.is-active{background:var(--rc-gold)}
@media (max-width:819px){
  .rc-hero{height:min(calc(100svh - var(--rc-head) - var(--rc-ab)),78vh);min-height:480px;max-height:760px}
  .rc-hero__shade{background:linear-gradient(180deg,rgba(20,20,24,0.05) 0%,rgba(20,20,24,0.55) 45%,rgba(20,20,24,0.25) 100%)}
  .rc-hero__body{max-width:none;margin:0;padding:0 22px;gap:12px}
  .rc-hero__reg{font-size:12px;letter-spacing:1.5px;line-height:1.6;opacity:1}
  .rc-hero__tag{padding:5px 12px;font-size:12px;letter-spacing:1px;margin-top:8px}
  .rc-hero__title{margin:6px 0 0;font-size:24px;line-height:1.25;letter-spacing:1px;max-width:240px}
  .rc-hero__sub{font-size:17px}
  .rc-hero__btn{margin-top:10px;padding:12px 26px;font-size:13px;letter-spacing:1px}
  .rc-hero__btn:hover{background:#fff;color:var(--rc-gold-dark)}
  .rc-hero__dots{bottom:18px}
  .rc-hero__dots button{width:9px;height:9px}
}

/* ==========================================================================
   About + stats
   ========================================================================== */
.rc-about{max-width:1100px;margin:0 auto;padding:88px 24px 44px;text-align:center}
.rc-about p{margin:32px auto 0;max-width:960px;font-size:17px;line-height:2.2;color:var(--rc-text);text-wrap:pretty}
.rc-stats{max-width:1100px;margin:0 auto;padding:0 24px 28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;align-items:center}
.rc-stats__list{display:flex;flex-direction:column;align-items:stretch}
.rc-stat{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px 0;border-bottom:2px solid var(--rc-line);width:220px}
.rc-stat__n{font-family:var(--rc-serif);font-size:40px;color:var(--rc-ink);min-width:80px}
.rc-stat__l{font-size:13px;line-height:1.3;color:var(--rc-text);white-space:pre-line}
.rc-stats__media{grid-column:span 2;display:flex;flex-direction:column;gap:20px;min-width:0}
.rc-stats__img{aspect-ratio:16/10;background-size:cover;background-position:center;border:8px solid #fff;border-radius:0;box-shadow:rgba(0,0,0,0.15) 0px 4px 16px 2px}
.rc-stats__row{display:flex;align-items:center;gap:16px}
.rc-stats__row > div{flex:1;height:1px;background:var(--rc-line)}
@media (max-width:1149px){
  .rc-stats{grid-template-columns:1fr}
  .rc-stats__list{align-items:center}
  .rc-stat{width:260px}
  .rc-stats__media{grid-column:auto}
}
@media (max-width:819px){
  .rc-about{padding:56px 20px 32px}
  .rc-about p{margin:24px auto 0;font-size:15px;line-height:1.9}
  .rc-stats{gap:28px}
  .rc-stat{padding:22px 0}
  .rc-stat__n{font-size:36px;min-width:0}
  .rc-stat__l{font-size:15px}
  .rc-stats__img{border:none;border-radius:6px}
}

/* ==========================================================================
   Services
   ========================================================================== */
.rc-services{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr) minmax(0,1fr);align-items:stretch;min-height:520px}
.rc-services__col{display:grid;grid-template-rows:1fr 1fr}
.rc-gray{background-size:cover;background-position:center;filter:grayscale(1)}
.rc-services__body{padding:64px clamp(20px,6vw,120px);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px}
.rc-services__body p{margin:0;font-size:17px;line-height:2.2;color:var(--rc-ink);max-width:520px;text-wrap:pretty}
.rc-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.rc-chips span{border:1px solid var(--rc-line);padding:6px 14px;font-size:15px;color:var(--rc-text)}
.rc-services__btn{border-left:1px solid var(--rc-gold);border-right:1px solid var(--rc-gold);color:var(--rc-gold-dark);padding:8px 36px;font-size:13px;letter-spacing:2px}
.rc-services__btn:hover{color:var(--rc-ink)}
.rc-services-m{display:none;flex-direction:column}
.rc-services-m__grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.rc-services-m__grid > div{aspect-ratio:1/1}
.rc-services-m__body{padding:48px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px}
.rc-services-m__body .rc-h2 span:first-child{font-size:19px}
.rc-services-m__body .rc-h2 span:last-child{font-size:26px}
.rc-services-m__body p{margin:0;font-size:15px;line-height:1.9;color:var(--rc-ink);text-wrap:pretty}
.rc-services-m__btn{border:1px solid var(--rc-gold);color:var(--rc-gold-dark);padding:12px 36px;font-size:13px;font-weight:700;letter-spacing:2px}
@media (max-width:819px){
  .rc-services{display:none}
  .rc-services-m{display:flex}
}

/* ==========================================================================
   Banner
   ========================================================================== */
.rc-banner{padding-top:88px}
.rc-banner__img{position:relative;height:clamp(320px,40vw,520px);background-size:cover;background-position:center}
.rc-banner__lbl{position:absolute;right:0;top:50%;transform:translateY(-50%);background:#000;color:var(--rc-gold-light);padding:20px 36px;font-family:var(--rc-serif);font-size:clamp(18px,1.9vw,26px);letter-spacing:1px}
.rc-banner__cta{max-width:1240px;margin:0 auto;padding:24px;display:flex;justify-content:flex-end}
.rc-banner__cta a{padding:8px 28px}
@media (max-width:819px){
  .rc-banner{padding-top:48px}
  .rc-banner__lbl{top:85%}
}

/* ==========================================================================
   Projects
   ========================================================================== */
.rc-sec{max-width:1240px;margin:0 auto;padding:64px 24px 88px}
.rc-sec--narrow{max-width:1100px}
.rc-projects{text-align:center}
.rc-filter{margin:44px auto 0;max-width:900px;padding:20px 32px;border:1px solid var(--rc-line);box-shadow:var(--rc-shadow);display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}
.rc-select{min-width:0;padding:6px 12px;border:1px solid #CCCCCC;border-radius:4px;background:#fff;font-family:var(--rc-sans);font-size:15px;color:var(--rc-ink)}
.rc-car{margin-top:32px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px}
.rc-arrow{flex:none;width:36px;height:36px;border-radius:50px;border:1px solid var(--rc-gold);background:#fff;color:var(--rc-gold);cursor:pointer;font-size:18px;padding:0;line-height:1}
.rc-arrow--prev{order:0}
.rc-arrow--next{order:2}
.rc-car__track{flex:1 1 0;min-width:0;order:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-bottom:0;touch-action:pan-y}
.rc-card{display:flex;flex-direction:column;gap:16px;color:var(--rc-ink)}
.rc-card:hover{color:var(--rc-gold-dark)}
.rc-card__img{position:relative;aspect-ratio:4/3;background-size:cover;background-position:center;box-shadow:rgba(0,0,0,0.15) 0px 4px 12px 1px}
.rc-card__badge{position:absolute;top:12px;left:12px;background:var(--rc-ink);color:var(--rc-gold-light);font-size:12px;letter-spacing:2px;padding:4px 10px}
.rc-card__name{font-family:var(--rc-serif);font-size:21px}
.rc-card__meta{font-size:15px;color:var(--rc-text);margin-top:-8px}
.rc-car__empty{grid-column:1/-1;padding:44px;text-align:center;color:var(--rc-text);font-size:17px}
@media (max-width:819px){
  .rc-sec{padding:48px 16px 56px}
  .rc-filter{margin:28px auto 0;padding:16px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .rc-select{padding:8px 6px;font-size:13px}
  .rc-car{gap:12px}
  .rc-arrow--prev{order:2}
  .rc-car__track{flex:1 1 100%;gap:16px;margin-bottom:12px}
}

/* ==========================================================================
   Gallery
   ========================================================================== */
.rc-gallery{display:flex;flex-direction:column;gap:40px}
.rc-gallery .rc-h2{text-align:center}
.rc-gallery__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.rc-gallery__grid > *{aspect-ratio:4/3;background-color:var(--rc-cream);background-position:center;background-size:cover;background-repeat:no-repeat;box-shadow:var(--rc-shadow);display:block}
@media (max-width:819px){.rc-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}

/* ==========================================================================
   Blogs
   ========================================================================== */
.rc-blogs .rc-h2{margin:0 0 64px;text-align:center}
.rc-blogs__list{display:flex;flex-direction:column;gap:88px}
.rc-art{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:44px;flex-direction:row}
.rc-art:nth-child(even){flex-direction:row-reverse}
.rc-art__img{flex:1 1 320px;position:relative;aspect-ratio:1/1;max-width:420px;background-size:cover;background-position:center;box-shadow:rgba(0,0,0,0.15) 0px 4px 16px 2px;display:block}
.rc-art__cap{position:absolute;left:0;right:0;bottom:24%;background:rgba(0,0,0,0.6);color:#fff;text-align:center;padding:12px 16px;font-family:var(--rc-serif);font-size:18px;line-height:1.4}
.rc-art__body{flex:1 1 320px;display:flex;flex-direction:column;gap:20px;text-align:left;align-items:flex-start}
.rc-art:nth-child(even) .rc-art__body{text-align:right;align-items:flex-end}
.rc-art__body h3{margin:0;font-family:var(--rc-serif);font-weight:400;font-size:21px;line-height:1.4;color:var(--rc-gold);letter-spacing:1px;text-transform:uppercase}
.rc-art__body h3 a{color:inherit}
.rc-art__body p{margin:0;font-size:16px;line-height:1.9;color:var(--rc-ink);max-width:440px}
.rc-art__more{border:1px solid var(--rc-gold);color:var(--rc-gold-dark);padding:6px 20px;font-size:13px}
.rc-art__more:hover{background:var(--rc-gold);color:#fff}
.rc-blogs__more{margin-top:56px}
@media (max-width:819px){
  .rc-blogs .rc-h2{margin:0 0 40px}
  .rc-blogs__list{gap:56px}
  .rc-art{gap:24px}
  .rc-art__body,.rc-art:nth-child(even) .rc-art__body{text-align:center;align-items:center}
  .rc-art__body p{font-size:15px}
}

/* ==========================================================================
   Enquiry / contact
   ========================================================================== */
.rc-enquiry{display:flex;flex-direction:column;gap:44px}
.rc-enquiry .rc-h2{text-align:center}
.rc-enquiry__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:stretch}
.rc-form{background:#fff;padding:36px;box-shadow:var(--rc-shadow);display:flex;flex-direction:column;gap:16px;margin:0}
.rc-form__ok{padding:14px 16px;border:1px solid var(--rc-gold);background:var(--rc-cream-2);color:var(--rc-ink);font-size:15px}
.rc-form__err{padding:14px 16px;border:1px solid #d9534f;background:#fdf1f0;color:#8a1f1b;font-size:15px}
.rc-form__ok[hidden],.rc-form__err[hidden]{display:none}
.rc-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rc-input{width:100%;padding:12px 14px;border:1px solid #CCCCCC;border-radius:4px;background:#fff;font-family:var(--rc-sans);font-size:15px;color:var(--rc-ink)}
textarea.rc-input{resize:vertical}
.rc-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.rc-form__btn{align-self:flex-start;background:var(--rc-gold);color:#fff;border:none;border-radius:50px;padding:14px 40px;font-family:var(--rc-sans);font-size:14px;font-weight:700;letter-spacing:2px;cursor:pointer}
.rc-form__btn:hover{background:var(--rc-gold-dark)}
.rc-form__btn[disabled]{opacity:.7;cursor:wait}
.rc-form__info{margin-top:8px;padding-top:20px;border-top:1px solid var(--rc-line);display:flex;flex-direction:column;gap:12px;font-size:15px;line-height:1.7;color:var(--rc-ink)}
.rc-form__info > div{display:flex;gap:12px}
.rc-form__info b{flex:none;color:var(--rc-gold-dark);font-weight:700;min-width:70px}
.rc-map{min-height:420px;box-shadow:var(--rc-shadow);background:var(--rc-cream);display:flex;flex-direction:column}
.rc-map iframe{flex:1;width:100%;min-height:420px;border:0;display:block}
.rc-map a{padding:12px 16px;font-size:14px;font-weight:700;letter-spacing:1px;color:var(--rc-gold-dark);text-align:center;background:#fff}
.rc-map a:hover{color:var(--rc-ink)}
@media (max-width:1149px){.rc-enquiry__grid{grid-template-columns:1fr}}
@media (max-width:819px){
  .rc-form{padding:24px 18px}
  .rc-form__row{grid-template-columns:1fr}
  .rc-form__btn{align-self:stretch}
  .rc-map,.rc-map iframe{min-height:320px}
}

/* ==========================================================================
   Footer
   ========================================================================== */
.rc-footer{background:var(--rc-ink);color:#fff}
.rc-footer__top{max-width:1240px;margin:0 auto;padding:64px 24px 44px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:36px;border-bottom:1px solid #3D3F45;text-align:left}
.rc-footer__logo{display:flex;justify-content:flex-start}
.rc-footer__logo img{height:120px;width:auto;display:block}
.rc-footer__blk{display:flex;flex-direction:column;gap:8px}
.rc-footer__h{font-weight:700;font-size:16px;color:var(--rc-gold)}
.rc-footer__txt{font-size:15px;line-height:1.8;color:#C7C9C9}
.rc-footer__txt a{color:#C7C9C9}
.rc-footer__txt a:hover{color:var(--rc-gold)}
.rc-footer__cols{max-width:1240px;margin:0 auto;padding:44px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:28px 20px}
.rc-footer__col{display:flex;flex-direction:column;gap:12px}
.rc-footer__col a{font-size:15px;color:#C7C9C9}
.rc-footer__col a:hover{color:var(--rc-gold)}
.rc-footer__bar{max-width:1240px;margin:0 auto;padding:20px 24px 88px;border-top:1px solid #3D3F45;display:flex;flex-direction:row;text-align:center;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.rc-footer__copy{font-size:13px;color:#C7C9C9}
.rc-credit{display:inline-flex;align-items:center;gap:10px;padding:8px 18px;border:1px solid #4A4C52;border-radius:50px;background:#25272D;transition:border-color .3s ease,background .3s ease}
.rc-credit:hover{border-color:var(--rc-gold);background:#2F3137}
.rc-credit__by{font-size:11px;letter-spacing:2px;color:#9A9C9F;text-transform:uppercase}
.rc-credit__dot{width:5px;height:5px;background:var(--rc-gold);transform:rotate(45deg)}
.rc-credit__name{font-family:var(--rc-serif);font-size:14px;letter-spacing:2px;color:var(--rc-gold-light)}
.rc-footer__soc{display:flex;gap:8px}
.rc-footer__soc a{width:28px;height:28px;border-radius:50px;border:1px solid var(--rc-gold);color:var(--rc-gold);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
.rc-footer__soc a:hover{background:var(--rc-gold);color:var(--rc-ink)}
@media (max-width:819px){
  .rc-footer__top{padding:48px 20px 32px;grid-template-columns:1fr;gap:24px;text-align:center}
  .rc-footer__logo{justify-content:center}
  .rc-footer__logo img{height:96px}
  .rc-footer__cols{padding:32px 20px;grid-template-columns:1fr 1fr}
  .rc-footer__bar{flex-direction:column}
}

/* ---------- Floating social + WhatsApp ---------- */
.rc-float{position:fixed;right:16px;top:calc(50% + (var(--rc-head) + var(--rc-ab)) / 2);transform:translateY(-50%);z-index:30;display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 8px;background:#fff;border:1px solid var(--rc-gold-light);border-radius:50px;box-shadow:var(--rc-shadow)}
.rc-float__lbl{writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;letter-spacing:3px;color:var(--rc-gold-dark);font-weight:700}
.rc-float__line{width:1px;height:28px;background:var(--rc-gold)}
.rc-float a{width:34px;height:34px;border-radius:50px;border:1px solid var(--rc-gold);color:var(--rc-gold-dark);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
.rc-float a:hover{background:var(--rc-gold);color:#fff}
.rc-wa{position:fixed;left:20px;bottom:20px;z-index:30;width:48px;height:48px;border-radius:50px;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:rgba(0,0,0,0.2) 0px 2px 8px}
.rc-wa:hover{color:#fff}
@media (max-width:819px){
  .rc-float{right:8px;gap:8px;padding:8px 5px}
  .rc-float__lbl,.rc-float__line{display:none}
  .rc-float a{width:30px;height:30px}
}

/* ==========================================================================
   Inner pages, blog, posts (same visual language)
   ========================================================================== */
.rc-pagehero{position:relative;height:clamp(240px,30vw,380px);background:var(--rc-ink) center/cover no-repeat;display:flex;align-items:center;color:#fff;overflow:hidden}
.rc-pagehero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,20,24,0.8) 0%,rgba(20,20,24,0.45) 55%,rgba(20,20,24,0.15) 100%)}
.rc-pagehero__in{position:relative;width:100%;max-width:1320px;margin:0 auto;padding:0 44px;display:flex;flex-direction:column;gap:14px}
.rc-pagehero__crumb{font-size:13px;letter-spacing:1px;opacity:.85}
.rc-pagehero__crumb a{color:#fff}
.rc-pagehero__crumb a:hover{color:var(--rc-gold-light)}
.rc-pagehero h1{margin:0;font-family:var(--rc-serif);font-weight:400;font-size:clamp(28px,4vw,52px);line-height:1.15;letter-spacing:2px;text-transform:uppercase;max-width:820px}
.rc-pagehero__bar{width:80px;height:2px;background:var(--rc-gold)}
@media (max-width:819px){.rc-pagehero__in{padding:0 22px}}

.rc-content{max-width:1100px;margin:0 auto;padding:72px 24px 88px;font-size:17px;line-height:2;color:var(--rc-text)}
.rc-content > *:first-child{margin-top:0}
.rc-content h1,.rc-content h2,.rc-content h3,.rc-content h4{font-family:var(--rc-serif);font-weight:400;color:var(--rc-gold);letter-spacing:1px;line-height:1.3;margin:1.6em 0 .6em}
.rc-content h2{font-size:clamp(24px,2.6vw,34px)}
.rc-content h3{font-size:clamp(20px,2vw,26px)}
.rc-content h4{font-size:20px}
.rc-content a{color:var(--rc-gold-dark);text-decoration:underline;text-underline-offset:3px}
.rc-content a:hover{color:var(--rc-ink)}
.rc-content img{height:auto}
.rc-content blockquote{margin:1.5em 0;padding:16px 24px;border-left:3px solid var(--rc-gold);background:var(--rc-cream-2);color:var(--rc-ink);font-family:var(--rc-serif);font-size:19px}
.rc-content ul,.rc-content ol{padding-left:1.3em}
.rc-content table{width:100%;border-collapse:collapse;font-size:15px}
.rc-content th,.rc-content td{border:1px solid var(--rc-line);padding:10px 12px;text-align:left}
.rc-content th{background:var(--rc-cream-2);color:var(--rc-ink)}
.rc-content .wp-block-button__link,.rc-content button,.rc-content input[type=submit]{background:var(--rc-gold);color:#fff;border:none;border-radius:50px;padding:12px 32px;font-weight:700;letter-spacing:2px;text-decoration:none;cursor:pointer}
.rc-content input[type=text],.rc-content input[type=email],.rc-content input[type=tel],.rc-content textarea,.rc-content select{width:100%;padding:12px 14px;border:1px solid #CCCCCC;border-radius:4px;font-size:15px;font-family:var(--rc-sans)}
.alignwide{max-width:1240px}
.alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.alignleft{float:left;margin:0 1.5em 1em 0}
.alignright{float:right;margin:0 0 1em 1.5em}
.wp-caption-text,figcaption{font-size:14px;color:#888;text-align:center}
@media (max-width:819px){.rc-content{padding:48px 20px 56px;font-size:15px;line-height:1.9}}

.rc-postgrid{max-width:1240px;margin:0 auto;padding:72px 24px 88px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px}
.rc-post{display:flex;flex-direction:column;gap:14px;color:var(--rc-ink)}
.rc-post__img{aspect-ratio:4/3;background:var(--rc-cream) center/cover no-repeat;box-shadow:rgba(0,0,0,0.15) 0px 4px 12px 1px;display:block}
.rc-post__date{font-size:12px;letter-spacing:2px;color:var(--rc-gold-dark);text-transform:uppercase}
.rc-post h2{margin:0;font-family:var(--rc-serif);font-weight:400;font-size:21px;line-height:1.35}
.rc-post h2 a:hover{color:var(--rc-gold-dark)}
.rc-post p{margin:0;font-size:15px;line-height:1.8;color:var(--rc-text)}
.rc-post .rc-art__more{align-self:flex-start}
.rc-pagination{grid-column:1/-1;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:12px}
.rc-pagination .page-numbers{min-width:40px;height:40px;padding:0 12px;border:1px solid var(--rc-gold);color:var(--rc-gold-dark);display:flex;align-items:center;justify-content:center;font-size:14px}
.rc-pagination .page-numbers.current,.rc-pagination .page-numbers:hover{background:var(--rc-gold);color:#fff}
.rc-empty{grid-column:1/-1;text-align:center;color:var(--rc-text);font-size:17px;padding:40px 0}
@media (max-width:1149px){.rc-postgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:819px){.rc-postgrid{grid-template-columns:1fr;padding:48px 16px 56px}}

.rc-single__meta{font-size:13px;letter-spacing:2px;color:var(--rc-gold-light);text-transform:uppercase}
.rc-single__thumb{max-width:1100px;margin:0 auto;padding:0 24px}
.rc-single__thumb img{width:100%;height:auto;display:block;box-shadow:rgba(0,0,0,0.15) 0px 4px 16px 2px;margin-top:-60px;position:relative}
.rc-postnav{max-width:1100px;margin:0 auto;padding:0 24px 72px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

.rc-404{text-align:center}
.rc-404 .rc-h2__lg{font-size:clamp(64px,10vw,120px)}
.rc-search{display:flex;gap:10px;max-width:520px;margin:28px auto 0}
.rc-search .rc-input{flex:1}
.rc-search button{background:var(--rc-gold);color:#fff;border:none;border-radius:50px;padding:0 28px;font-weight:700;letter-spacing:2px;cursor:pointer}

/* comments */
.rc-comments{max-width:1100px;margin:0 auto;padding:0 24px 72px}
.rc-comments .comment-list{list-style:none;padding:0}
.rc-comments .comment-body{padding:20px 0;border-bottom:1px solid var(--rc-line)}
.rc-comments input:not([type=submit]):not([type=checkbox]),.rc-comments textarea{width:100%;padding:12px 14px;border:1px solid #CCCCCC;border-radius:4px;font-size:15px}
.rc-comments input[type=submit]{background:var(--rc-gold);color:#fff;border:none;border-radius:50px;padding:12px 32px;font-weight:700;letter-spacing:2px;cursor:pointer}

/* ==========================================================================
   Converted inner pages: shared helpers
   ========================================================================== */
@keyframes heroIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes heroZoom{from{transform:scale(1.12)}to{transform:scale(1)}}
@keyframes lbFade{from{opacity:0}to{opacity:1}}
@keyframes lbZoom{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
@keyframes pmFade{from{opacity:0}to{opacity:1}}
@keyframes pmUp{from{opacity:0;transform:translateY(40px) scale(.97)}to{opacity:1;transform:none}}
/* Lazy backgrounds: image is only requested when the element nears the viewport */
html.rc-js [data-lazy]{background-image:none!important}
/* Scroll reveal (set up by JS only; content is visible without JS) */
.rc-rv{opacity:0;transform:translateY(40px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.rc-rv.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rc-rv{opacity:1;transform:none;transition:none}}
.rc-slot{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#9A9590;font-size:13px;background:#EFEAE3}
.rc-page select{-webkit-appearance:auto;appearance:auto}
.rc-page [data-on-click]{cursor:pointer}
/* Lightbox + project modal */
.rc-lb{position:fixed;inset:0;z-index:300;background:rgba(14,14,16,0.94);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px;animation:lbFade .3s ease;color:#fff}
.rc-lb__img{width:min(1200px,100%);height:72vh;background:center/contain no-repeat;animation:lbZoom .45s cubic-bezier(.2,.7,.2,1)}
.rc-lb__bar{display:flex;align-items:center;gap:20px}
.rc-lb__nav{width:44px;height:44px;border-radius:50px;border:1px solid var(--rc-gold);background:transparent;color:var(--rc-gold);font-size:20px;cursor:pointer}
.rc-lb__t{text-align:center;min-width:180px}
.rc-lb__t div:first-child{font-family:var(--rc-serif);font-size:18px}
.rc-lb__t div:last-child{font-size:13px;color:#C7C9C9;letter-spacing:1px}
.rc-lb__x{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50px;border:none;background:var(--rc-gold);color:#fff;font-size:18px;cursor:pointer}
.rc-pm{position:fixed;inset:0;z-index:300;background:rgba(20,20,24,0.78);display:flex;align-items:center;justify-content:center;padding:40px;animation:pmFade .35s ease}
.rc-pm__box{position:relative;width:100%;max-width:1040px;max-height:100%;overflow:auto;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);animation:pmUp .5s cubic-bezier(.2,.7,.2,1)}
.rc-pm__img{min-height:460px;background:#F7F4EE center/cover no-repeat}
.rc-pm__body{padding:36px;display:flex;flex-direction:column;gap:16px}
.rc-pm__badge{align-self:flex-start;background:var(--rc-ink);color:var(--rc-gold-light);font-size:11px;letter-spacing:2px;padding:5px 10px;font-weight:700}
.rc-pm h3{margin:0;font-family:var(--rc-serif);font-weight:400;font-size:clamp(24px,2.4vw,32px);line-height:1.2;color:var(--rc-ink)}
.rc-pm__loc{font-size:15px;color:var(--rc-gold-dark);font-weight:700}
.rc-pm p{margin:0;font-size:15px;line-height:1.9;color:var(--rc-ink);text-wrap:pretty}
.rc-pm__specs{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--rc-line)}
.rc-pm__specs > div{padding:12px 0;border-bottom:1px solid var(--rc-line);display:flex;flex-direction:column;gap:2px}
.rc-pm__specs small{font-size:12px;letter-spacing:1.5px;color:var(--rc-text);text-transform:uppercase}
.rc-pm__specs b{font-size:16px;color:var(--rc-ink)}
.rc-pm__act{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.rc-pm__act a{background:var(--rc-gold);color:#fff;border-radius:50px;padding:12px 28px;font-size:13px;font-weight:700;letter-spacing:2px}
.rc-pm__act a:hover{background:var(--rc-gold-dark);color:#fff}
.rc-pm__act button{width:44px;height:44px;border-radius:50px;border:1px solid var(--rc-gold);background:#fff;color:var(--rc-gold-dark);font-size:18px;cursor:pointer}
.rc-pm__x{position:absolute;top:12px;right:12px;width:40px;height:40px;border-radius:50px;border:none;background:var(--rc-ink);color:#fff;font-size:18px;cursor:pointer}
@media (max-width:819px){
  .rc-lb{padding:16px}
  .rc-pm{padding:12px}
  .rc-pm__box{grid-template-columns:1fr}
  .rc-pm__img{min-height:240px}
  .rc-pm__body{padding:24px 20px}
}
