/* RCE Capital: approved refinements, Oct 2026 */

/* 1. Hero: no photo. Typographic opening with the brand board's architectural grid and a slow gold light */
.immersive{min-height:0!important;padding-top:120px!important;padding-bottom:150px!important;overflow:hidden}
.immersive:before{display:none}
.immersive h1 em{font-style:normal}
.hero-texture{position:absolute;inset:0;z-index:-1;pointer-events:none}
.ht-grid{position:absolute;inset:0 0 0 38%;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 30%,#000 85%,transparent);mask-image:linear-gradient(90deg,transparent,#000 30%,#000 85%,transparent)}
.ht-light{position:absolute;width:760px;height:760px;right:-120px;top:-180px;border-radius:50%;background:radial-gradient(circle,rgba(212,175,55,.20),rgba(212,175,55,.05) 45%,rgba(212,175,55,0) 68%);animation:htDrift 24s ease-in-out infinite}
.ht-lines{position:absolute;inset:0 0 0 38%;width:62%;height:100%}
.ht-lines path{fill:none;stroke:#D4AF37;stroke-width:1;vector-effect:non-scaling-stroke;opacity:.55;stroke-dasharray:1200;stroke-dashoffset:1200;animation:htDraw 1.8s cubic-bezier(.6,0,.2,1) .5s forwards}
.ht-lines path:nth-child(2){animation-delay:.8s}.ht-lines path:nth-child(3){animation-delay:1.1s;opacity:.3}.ht-lines path:nth-child(4){animation-delay:1.3s;opacity:.3}
.ht-frame{position:absolute;right:14%;top:22%;width:180px;height:180px;border:1px solid rgba(212,175,55,.6);opacity:0;animation:htFade 1.2s ease 1.6s forwards}
.immersive .hero-copy>*{animation:htUp .8s cubic-bezier(.2,.7,.2,1) both}
.immersive .hero-copy>*:nth-child(2){animation-delay:.12s}.immersive .hero-copy>*:nth-child(3){animation-delay:.24s}.immersive .hero-copy>*:nth-child(4){animation-delay:.36s}
.immersive h1{position:relative}
.immersive h1:after{content:"";display:block;width:120px;height:3px;background:#D4AF37;margin-top:30px;transform-origin:left;animation:htRule .9s cubic-bezier(.6,0,.2,1) .7s both}
@keyframes htDrift{0%,100%{transform:translate(0,0)}50%{transform:translate(-260px,140px)}}
@keyframes htDraw{to{stroke-dashoffset:0}}
@keyframes htFade{to{opacity:1}}
@keyframes htUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes htSlide{from{transform:translateY(28px)}to{transform:none}}
@keyframes htRule{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* Movement on the way down: sections settle in as they arrive, buttons lift on hover */
@supports (animation-timeline:view()){.advisor,#coverage .copy,#coverage figure,.contact-copy,.team-contact{animation:htSlide linear both;animation-timeline:view();animation-range:entry 0% entry 80%}}
.advisor{transition:transform .3s,box-shadow .3s}.advisor:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(13,27,42,.12)}
.button,.action{transition:transform .2s,background .2s,color .2s}.button:hover,.action:hover{transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.ht-light,.ht-lines path,.ht-frame,.immersive .hero-copy>*,.immersive h1:after,.advisor,#coverage .copy,#coverage figure,.contact-copy,.team-contact{animation:none!important}.ht-lines path{stroke-dashoffset:0}.ht-frame{opacity:1}}
/* 2. One label per page, not one per section */
#team .eyebrow,#coverage .copy>.eyebrow,.contact-copy .eyebrow{display:none}
/* 3. Arrows only where a link leaves the site */
.header-contact .rce-ui-icon,.hero-actions .rce-ui-icon,a[href^="mailto"] .rce-ui-icon,a[download] .rce-ui-icon,#coverage .cta svg{display:none}
/* 4. Coverage map: a clean navy and white silhouette, no heavy gold block */
#coverage.static-coverage figure{color:rgba(255,255,255,.10);--boundary:rgba(255,255,255,.32)}
#coverage.static-coverage figure svg g{stroke-width:.6}
/* 5. Footer: housing marks sized to the text around them */
.housing-marks{width:64px!important;height:auto!important;aspect-ratio:auto!important;margin:18px 0!important}
/* 6. Let's talk: two actions, both to Aaron */
.tc{display:flex!important;flex-direction:column;gap:14px;align-self:center;max-width:340px;width:100%}
.tc .button{width:100%;justify-content:center}
.tc .tc-call{background:transparent;color:#0D1B2A;border:1px solid #0D1B2A}
.tc .tc-call:hover{background:#0D1B2A;color:#FFFFFF}

.hero-texture{position:absolute;inset:0;z-index:-1;pointer-events:none}
.ht-grid{position:absolute;inset:0 0 0 38%;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 30%,#000 85%,transparent);mask-image:linear-gradient(90deg,transparent,#000 30%,#000 85%,transparent)}
.ht-light{position:absolute;width:760px;height:760px;right:-120px;top:-180px;border-radius:50%;background:radial-gradient(circle,rgba(212,175,55,.18),rgba(212,175,55,.04) 45%,rgba(212,175,55,0) 68%);animation:htDrift 24s ease-in-out infinite}
.ht-art{position:absolute;right:4%;top:9%;bottom:9%;width:56%}
.ht-art .hx{width:100%;height:100%;overflow:visible}
.hx .dr{fill:none;stroke:#D4AF37;stroke-width:1.4;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:hxDraw 1.6s cubic-bezier(.6,0,.2,1) var(--d,0s) forwards}
.hx .st{stroke:rgba(212,175,55,.42);stroke-width:.8;animation-duration:2.2s}
.hx .arc{stroke-width:1.6;stroke-dasharray:1;animation-duration:1.4s}
.hx .lot{stroke-width:2}
.hx .ease{stroke-dasharray:.012 .01;stroke-dashoffset:0;opacity:0;animation:hxFade .8s ease var(--d,0s) forwards;stroke:rgba(212,175,55,.6)}
.hx .setb{stroke:rgba(212,175,55,.55)}
.hx .dimn{stroke:rgba(255,255,255,.45);stroke-width:1}
.hx .mon{stroke-width:1.6}
.hx .pin{fill:#D4AF37;opacity:0;animation:hxFade .5s ease var(--d,0s) forwards}
.hx .pin.sm{fill:rgba(212,175,55,.7)}
.hx .ring{fill:none;stroke:#D4AF37;stroke-width:1.2;vector-effect:non-scaling-stroke;opacity:0;transform-box:fill-box;transform-origin:center;animation:hxRing 2.8s ease-out calc(var(--d,0s) + .4s) infinite}
.hx .lb{fill:rgba(255,255,255,.82);font:600 10.5px/1 Manrope,Arial,sans-serif;letter-spacing:.14em;opacity:0;animation:hxFade .8s ease var(--d,0s) forwards}
.hx .lb.dim{fill:rgba(255,255,255,.5)}
@keyframes hxDraw{to{stroke-dashoffset:0}}
@keyframes hxFade{to{opacity:1}}
@keyframes hxRing{0%{opacity:.9;transform:scale(1)}80%,100%{opacity:0;transform:scale(4.5)}}
@keyframes htDrift{0%,100%{transform:translate(0,0)}50%{transform:translate(-260px,140px)}}
@media (prefers-reduced-motion:reduce){.hx .dr{stroke-dashoffset:0;animation:none}.hx .pin,.hx .lb,.hx .ease{opacity:1;animation:none}.hx .ring{display:none}.ht-light{animation:none}}

.ht-cursor{position:absolute;inset:0;background:radial-gradient(320px circle at var(--mx,72%) var(--my,40%),rgba(212,175,55,.13),rgba(212,175,55,0) 70%);transition:background-position .2s}
.hx .fp{stroke-dasharray:.02 .015;stroke-dashoffset:0;opacity:0;animation:hxFade .6s ease var(--d) forwards,hxFpOut 1s ease 3.2s forwards}
@keyframes hxFpOut{from{opacity:1}to{opacity:.15}}
.hx .back{stroke:rgba(212,175,55,.2)}
.hx .glow{fill:#E2C979;opacity:0;animation:hxGlow 1.2s ease var(--d) forwards;filter:drop-shadow(0 0 6px rgba(226,201,121,.7))}
.hx .glow.flick{animation:hxGlow 1.2s ease var(--d) forwards,hxFlick 5s steps(1) calc(var(--d) + 2s) infinite}
@keyframes hxGlow{to{opacity:.92}}
@keyframes hxFlick{0%,100%{opacity:.92}46%{opacity:.25}48%{opacity:.92}70%{opacity:.4}72%{opacity:.92}}
/* door and light */
.hx .floor{stroke:rgba(212,175,55,.5)}
.hx .leaf{transform-box:fill-box;transform-origin:0% 50%;animation:hxOpen 1.6s cubic-bezier(.5,0,.2,1) 1.6s forwards}
.hx .room{opacity:0;animation:hxRoom 1.2s ease 1.8s forwards}
.hx .beam{opacity:0;animation:hxRoom 1.6s ease 2.1s forwards}
.hx .halo{opacity:0;animation:hxRoom 2.4s ease 2.0s forwards}
.hx .mote{fill:#EAD89E;opacity:0;animation:hxMote 6s ease-in-out var(--d) infinite}
@keyframes hxOpen{to{transform:scaleX(.2) skewY(-14deg)}}
@keyframes hxRoom{to{opacity:1}}
@keyframes hxMote{0%{opacity:0;transform:translate(0,0)}30%{opacity:.9}100%{opacity:0;transform:translate(-30px,-70px)}}
.ht-spill{position:absolute;left:-10%;bottom:-20%;width:80%;height:90%;background:radial-gradient(ellipse at 70% 80%,rgba(212,175,55,.16),rgba(212,175,55,0) 65%);opacity:0;animation:hxRoom 2.4s ease 2.2s forwards}
/* dusk */
.dusk .ht-grid{animation:hxDim 2s ease 2.6s forwards}
.dusk .hx .dr{animation:hxDraw 1.6s cubic-bezier(.6,0,.2,1) var(--d,0s) forwards,hxSoft 2s ease 2.6s forwards}
.hx .horizon{opacity:0;animation:hxHorizon 4s ease 2.4s forwards}
@keyframes hxDim{to{opacity:.3}}
@keyframes hxSoft{to{stroke:rgba(212,175,55,.45)}}
@keyframes hxHorizon{0%{opacity:0}40%{opacity:1}100%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.hx .glow,.hx .fp,.hx .room,.hx .beam,.hx .halo,.ht-spill{opacity:1;animation:none}.hx .glow{opacity:.92}.hx .leaf{animation:none;transform:scaleX(.2) skewY(-14deg)}.hx .mote{display:none}.dusk .ht-grid{animation:none;opacity:.3}.hx .horizon{animation:none;opacity:.35}}

.actionbar{display:none}
@media(max-width:900px){
/* Bug fix: the primary advisor button label was navy on navy */
.advisor .action.primary{color:#FFFFFF!important;padding:0 14px!important}
.immersive{padding-top:56px!important;padding-bottom:96px!important}
.tc{max-width:none}
/* Weighted contact bar, held at the bottom of the screen */
.actionbar{display:flex!important;position:sticky;bottom:0;z-index:20;background:#fff;border-top:1px solid #D7DADD;box-shadow:0 -8px 24px rgba(13,27,42,.14)}
.actionbar a{flex:1;display:flex;align-items:center;justify-content:center;min-height:58px;text-decoration:none;color:#0D1B2A;font:700 15px/1 Manrope,Arial,sans-serif}
.actionbar a+a{border-left:1px solid #D7DADD}
.actionbar a.em{background:#D4AF37;border-left:0}

.immersive{padding-bottom:250px!important}
.ht-grid{inset:auto 0 0 0;height:250px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 40%);mask-image:linear-gradient(180deg,transparent,#000 40%)}
.ht-light{width:420px;height:420px;right:-160px;top:auto;bottom:-160px}
.ht-art{left:16px;right:16px;top:auto;bottom:22px;width:auto;height:210px}
.hx .lb{font-size:13px}

.ht-cursor{display:none}
.contact.section{display:none}
}
