/* R.A.K. GROUP v2.12.0 — Obsidian Black / Deep Copper 3D.
   Visual-only global upgrade over v2.11. Uses original Elementor content and
   actual photos; it does NOT alter pages, media references, or user data.
   Contrast/motion/accessibility are deliberate. */
body.rak-v211-active {
  --rak-obsidian:#08090b;--rak-black:#0e1013;--rak-black-alt:#16181c;
  --rak-graphite:#1e2025;--rak-steel:#2c3035;
  --rak-copper:#ed5e0a;--rak-copper-hot:#ff8f20;
  --rak-copper-deep:#a33105;--rak-copper-mid:#d44b08;
  --rak-ivory:#f7f4f0;--rak-silver:#c9cdd2;
  --rak-copper-gradient:linear-gradient(132deg,#ff941f 0%,#eb5908 39%,#b93400 79%,#8b2700 100%);
  --rak-black-gradient:linear-gradient(132deg,#060708 0%,#1b1c20 49%,#0b0d10 100%);
  background:#08090b!important;color:var(--rak-ivory);
}
body.rak-v211-active .rak-site-wrapper,
body.rak-v211-active .rak-page,
body.rak-v211-active .rak-main {background-color:#0c0d10!important}
/* Global typographic rhythm / retain native Elementor editability */
body.rak-v211-active :is(.rak-section-white,.rak-section-muted,.rak-v11-project-intro,.rak-v11-section,.rak-v11-editorial-section,.rak-real-photos-section) {
  background:linear-gradient(136deg,#0c0e11 0%,#1b1d21 50%,#0f1114 100%)!important;
  color:#f1f2f3!important;
}
body.rak-v211-active :is(.rak-section-white,.rak-section-muted) .elementor-heading-title,
body.rak-v211-active :is(.rak-section-heading,.rak-v11-heading,.rak-v11-heading-title,.rak-section-title) .elementor-heading-title,
body.rak-v211-active :is(.rak-section-title,.rak-v11-heading-title,.rak-v11-contact-head) .elementor-heading-title {
  color:#f7f5f2!important;text-shadow:0 2px 14px #0005!important;
}
body.rak-v211-active :is(.rak-section-white,.rak-section-muted,.rak-v11-section) .rak-section-heading .elementor-widget-text-editor,
body.rak-v211-active :is(.rak-section-heading,.rak-v11-heading) .elementor-widget-text-editor,
body.rak-v211-active :is(.rak-section-heading,.rak-v11-heading) .elementor-widget-text-editor :is(p,span) {
  color:#c8cbd0!important;opacity:1!important;
}
body.rak-v211-active :is(.rak-v11-dark,.rak-v11-process-section,.rak-v11-quote,.rak-v11-split-spotlight,.rak-v12-technical-banner,.rak-v12-service-promise,.rak-v12-visual-story,.rak-v12-brand-banner,.rak-v12-insight-banner) {
  background:radial-gradient(ellipse at 88% 18%,#32201362,transparent 57%),linear-gradient(133deg,#08090b,#1d2024 52%,#0b0d10)!important;
  border-color:#e86a211f!important;
}
/* Header: near-black with subtle polished metal edges, not flat navy. */
body.rak-v211-active :is(.rak-global-header,.rak-header){
  background:linear-gradient(112deg,#050506 0%,#17191d 48%,#08090b 100%)!important;
  border-bottom:1px solid #fb761a48!important;
  box-shadow:0 1px 0 #ffffff10 inset,0 12px 26px #000a!important;
}
body.rak-v211-active .rak-nav-item .elementor-button {
  color:#f3f3f3!important;background:transparent!important;border:0!important;
  box-shadow:none!important;text-decoration:none!important;text-shadow:none!important;
}
body.rak-v211-active .rak-nav-item .elementor-button:is(:hover,:focus-visible){color:#ffa05a!important}
/* Shared premium copper buttons: unify hero/CTA/profile/form. */
body.rak-v211-active :is(.rak-header-cta,.rak-btn-orange,.rak-v11-mini-cta,.rak-hero-actions,.rak-v11-pro-form) .elementor-button,
body.rak-v211-active :is(.rak-v25-caption-cta,.rak-v24-footer-cta),
body.rak-v211-active .rak-button.elementor-button {
  background:var(--rak-copper-gradient)!important;color:#fff!important;
  border:1px solid #ff9b41b5!important;
  box-shadow:inset 0 1px 0 #ffffff63,inset 0 -2px 0 #5c170055,0 7px 16px #c742003f,0 1px 0 #0009!important;
  border-radius:10px!important;text-shadow:0 1px 1px #6b200059!important;
  transition:transform .22s ease,filter .22s ease,box-shadow .22s ease!important;
}
body.rak-v211-active :is(.rak-header-cta,.rak-btn-orange,.rak-v11-mini-cta,.rak-hero-actions,.rak-v11-pro-form) .elementor-button:is(:hover,:focus-visible),
body.rak-v211-active .rak-v25-caption-cta:is(:hover,:focus-visible){
  filter:brightness(1.13)!important;transform:translateY(-2px)!important;
  box-shadow:inset 0 1px 0 #ffffff7a,0 11px 24px #cf460061!important;
}
body.rak-v211-active :is(.rak-header-cta,.rak-btn-orange,.rak-hero-actions,.rak-v11-mini-cta,.rak-v11-pro-form) .elementor-button:focus-visible,
body.rak-v211-active a:focus-visible,
body.rak-v211-active input:focus-visible,
body.rak-v211-active textarea:focus-visible {outline:2px solid #ffb16b!important;outline-offset:3px!important}
/* Hero and page hero: theatrical black-side overlay like the approved profile cover. */
body.rak-v211-active .rak-hero,
body.rak-v211-active .rak-page-hero{background-color:#070809!important;isolation:isolate}
body.rak-v211-active .rak-hero::after,
body.rak-v211-active .rak-page-hero::after,
body.rak-v211-active .rak-v12-project-lead::after,
body.rak-v211-active .rak-cta-banner::after {
  background:linear-gradient(90deg,#040507fa 0%,#090a0ced 30%,#100d0abf 56%,#0909091a 96%)!important;
}
body.rak-v211-active :is(.rak-hero-eyebrow,.rak-page-kicker) .elementor-heading-title {color:#ff974c!important}
body.rak-v211-active :is(.rak-hero-highlight,.rak-v25-caption-title .rak-accent) .elementor-heading-title {color:#ff841b!important}
body.rak-v211-active :is(.rak-hero-desc,.rak-hero-company,.rak-page-intro) .elementor-widget-container {color:#ecedef!important}
/* Strong 3D cards without painting over user-selected imagery. */
body.rak-v211-active .rak-stat-bar{
  background:linear-gradient(180deg,#090b0e,#15171a 45%,#0a0c0e)!important;
  border-top:1px solid #fc67151f!important;border-bottom:1px solid #ff7e1829!important;
}
body.rak-v211-active .rak-stat-bar > .rak-stat {
  border:1px solid #f6874b9a!important;
  box-shadow:inset 0 1px 0 #ffffff39,inset 0 -3px 3px #0706066e,0 12px 30px #0009,0 0 15px #ff69001c!important;
  /* Keep the four distinct v2.9/user-defined backgrounds and count-up animation intact. */
}
body.rak-v211-active .rak-stat-bar .rak-v24-stat-icon .elementor-icon {
  background:radial-gradient(circle at 32% 24%,#ffb26d33,#080a0d9c 70%)!important;
  border:1px solid #ff8a3db5!important;
  box-shadow:inset 0 1px 0 #ffffff42,0 3px 12px #e65a1442,0 0 0 3px #ff771414!important;
}
body.rak-v211-active .rak-stat-num .elementor-heading-title {color:#fff!important;text-shadow:0 3px 12px #0009!important}
body.rak-v211-active .rak-stat-label,
body.rak-v211-active .rak-stat-label :is(p,span),
body.rak-v211-active .rak-stat-label .elementor-widget-container {color:#f0f0f1!important;opacity:1!important}
/* Services, article and project cards: deep graphite, controlled copper hairlines. */
body.rak-v211-active :is(.rak-service-card,.rak-project-card,.rak-article-card,.rak-v11-value-card,.rak-info-panel,.rak-step,.rak-v11-step-card){
  background:linear-gradient(153deg,#202226 0%,#121417 72%,#0c0e10 100%)!important;
  border:1px solid #545454d6!important;border-radius:17px!important;
  box-shadow:0 1px 0 #ffffff19 inset,0 15px 28px #0007,0 0 0 1px #c8541a14!important;
}
body.rak-v211-active :is(.rak-service-card,.rak-project-card,.rak-article-card) .rak-card-content {
  background:linear-gradient(165deg,#202226 0%,#101214 100%)!important;
  padding:clamp(17px,1.6vw,25px)!important;
}
body.rak-v211-active :is(.rak-service-card,.rak-project-card,.rak-article-card) .rak-card-photo img {
  filter:saturate(.93) contrast(1.055)!important;
}
body.rak-v211-active :is(.rak-service-card,.rak-project-card,.rak-article-card,.rak-v11-value-card,.rak-info-panel,.rak-step) .elementor-heading-title,
body.rak-v211-active :is(.rak-v11-step-card,.rak-service-detail-copy) .elementor-heading-title {
  color:#f8f5f2!important;text-shadow:none!important;
}
body.rak-v211-active :is(.rak-service-card,.rak-project-card,.rak-article-card,.rak-v11-value-card,.rak-info-panel,.rak-step,.rak-v11-step-card,.rak-service-detail-copy) :is(.elementor-widget-text-editor,.elementor-widget-text-editor .elementor-widget-container,.elementor-widget-text-editor p,.elementor-widget-text-editor span){
  color:#cbd0d4!important;opacity:1!important;
}
body.rak-v211-active :is(.rak-service-card,.rak-project-card,.rak-article-card) .rak-link-button .elementor-button {
  background:transparent!important;border:0!important;box-shadow:none!important;
  color:#ff9954!important;text-shadow:none!important;
}
body.rak-v211-active :is(.rak-service-card,.rak-project-card,.rak-article-card) .rak-link-button .elementor-button:hover {color:#ffbd87!important}
@media (hover:hover) and (pointer:fine){
 body.rak-v211-active :is(.rak-service-card,.rak-v11-value-card,.rak-info-panel):hover{
   transform:translateY(-4px)!important;border-color:#ef7d41c7!important;
   box-shadow:0 1px 0 #ffffff2d inset,0 22px 40px #0009,0 0 24px #e4570b2e!important;
 }
}
/* About/story split and details */
body.rak-v211-active :is(.rak-about-text,.rak-v11-split-copy,.rak-v12-story-copy,.rak-v12-tech-copy,.rak-v12-insight-copy,.rak-v11-editorial-copy){
  background:linear-gradient(132deg,#101215,#23252a 63%,#101114)!important;
}
body.rak-v211-active :is(.rak-about-text,.rak-v11-split-copy,.rak-v12-story-copy,.rak-v12-tech-copy,.rak-v12-insight-copy,.rak-v11-editorial-copy) :is(.elementor-heading-title){color:#fff!important}
body.rak-v211-active :is(.rak-about-text,.rak-v11-split-copy,.rak-v12-story-copy,.rak-v12-tech-copy,.rak-v12-insight-copy,.rak-v11-editorial-copy) :is(.elementor-widget-text-editor,.elementor-widget-text-editor p){color:#d6d9dd!important}
body.rak-v211-active :is(.rak-v11-check-row,.rak-v24-footer-contact-row,.rak-v12-contact-strip-item) {border-color:#ffffff22!important}
/* Contact form and information: readable fields on charcoal without changed form behavior. */
body.rak-v211-active :is(.rak-v11-contact-hero,.rak-v11-contact-form-wrap,.rak-v12-contact-strip){
 background:linear-gradient(145deg,#131518,#24262a)!important;color:#f5f3f0!important;
}
body.rak-v211-active .rak-v11-pro-form :is(input,select,textarea){
 background:#111316!important;border:1px solid #696969!important;color:#fff!important;
 border-radius:9px!important;box-shadow:inset 0 1px 5px #0007!important;
}
body.rak-v211-active .rak-v11-pro-form :is(input,textarea)::placeholder{color:#a7a8ab!important;opacity:1}
body.rak-v211-active :is(.rak-v11-contact-hero,.rak-v11-contact-form-wrap,.rak-v12-contact-strip) :is(label,.elementor-heading-title,.elementor-widget-text-editor,.elementor-widget-text-editor p){color:#f2f2f2!important}
/* Footer: rich obsidian backdrop / subtle dimensional orange line */
body.rak-v211-active .rak-footer {
 background:radial-gradient(ellipse at 78% 0%,#50240530,transparent 46%),linear-gradient(114deg,#070809f7,#181a1eee),url('../assets/about.webp') center/cover no-repeat!important;
 border-top:2px solid #c84d0d!important;
 box-shadow:inset 0 9px 14px #ff7d0b10!important;
}
body.rak-v211-active .rak-footer :is(.elementor-heading-title,.rak-footer-nav .elementor-button){color:#f5f5f6!important}
body.rak-v211-active .rak-footer :is(.elementor-widget-text-editor,.elementor-widget-text-editor p){color:#cbd0d3!important}
body.rak-v211-active .rak-footer a:hover{color:#ff9954!important}
/* The new high-spec loader: true 3D concentric rings using gradients, not an image. */
#rak-v211-loader{
 background:
  linear-gradient(126deg,transparent 38%,#a531061c 38.3%,#eb530910 39.3%,transparent 40.8%),
  radial-gradient(ellipse at 50% 41%,#29211e 0%,#151619 37%,#050607 78%)!important;
 color:#fff!important;overflow:hidden;text-align:center;
}
#rak-v211-loader::before,#rak-v211-loader::after{
 content:"";position:absolute;width:38vw;max-width:520px;height:125vh;top:-15vh;left:-12vw;
 transform:rotate(34deg);pointer-events:none;
 background:linear-gradient(90deg,transparent 0%,#0c0e11 22%,#f56f1929 52%,#100c09 65%,transparent);
 border-right:1px solid #f3792b4a;opacity:.55;
}
#rak-v211-loader::after{left:auto;right:-17vw;transform:rotate(34deg);opacity:.2}
#rak-v211-loader .rak-v211-mark{
 width:min(58vw,218px)!important;height:min(58vw,218px)!important;
 z-index:1;filter:drop-shadow(0 12px 25px #000c);
}
#rak-v211-loader .rak-v211-ring{
 border:0!important;inset:0!important;border-radius:50%!important;
 background:conic-gradient(from 13deg,#ffbb66 0deg,#ff9c25 37deg,#f56508 83deg,#af3101 156deg,transparent 203deg,#ff792117 270deg,#ffb264 339deg,#ff9b26 360deg);
 -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 9px),#000 calc(100% - 7px));
 mask:radial-gradient(farthest-side,transparent calc(100% - 9px),#000 calc(100% - 7px));
 animation:rak-v212-ring-turn 1.45s cubic-bezier(.53,.19,.42,.82) infinite!important;
 box-shadow:none!important;filter:drop-shadow(0 0 7px #f47012b0);
}
#rak-v211-loader .rak-v212-ring-inner{
 position:absolute;inset:15px;border-radius:50%;border:1px solid #b94b1b94;
 box-shadow:inset 0 0 14px #e35a072c,0 0 14px #ee630e2e;
 background:conic-gradient(from 0deg,transparent 0deg,transparent 88deg,#ffb55a 130deg,transparent 145deg);
 -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 2px));
 mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 2px));
 animation:rak-v212-ring-reverse 2.35s linear infinite;
}
#rak-v211-loader .rak-v212-core{
 position:absolute;inset:32px;border-radius:50%;
 border:1px solid #ffffff22;background:radial-gradient(ellipse at 35% 25%,#2e3136,#0d0e10 75%);
 box-shadow:inset 0 1px 4px #fff2,inset 0 -13px 22px #000d,0 0 16px #ed5b1633;
}
#rak-v211-loader .rak-v211-mark img{
 position:relative;z-index:2;width:64%!important;max-width:155px!important;height:auto!important;
 filter:drop-shadow(0 2px 6px #000b);object-fit:contain;
}
#rak-v211-loader .rak-v211-loader-caption{
 top:calc(50% + 135px)!important;font-size:11px!important;letter-spacing:.31em!important;
 color:#cbc7c3!important;text-shadow:0 1px 5px #000a;
}
#rak-v211-loader .rak-v212-loading-label{
 position:absolute;top:calc(50% + 163px);width:100%;left:0;text-align:center;
 font:600 10px/1.2 sans-serif;letter-spacing:.3em;color:#fb872b;
 opacity:.86;z-index:2;
}
@keyframes rak-v212-ring-turn{to{transform:rotate(360deg)}}
@keyframes rak-v212-ring-reverse{to{transform:rotate(-360deg)}}
@media(max-width:767px){
 body.rak-v211-active .rak-footer-inner{gap:22px!important}
 body.rak-v211-active :is(.rak-service-card,.rak-article-card) .rak-card-content {padding:18px!important}
 #rak-v211-loader .rak-v211-mark{width:170px!important;height:170px!important}
 #rak-v211-loader .rak-v211-loader-caption{top:calc(50% + 108px)!important}
 #rak-v211-loader .rak-v212-loading-label{top:calc(50% + 132px)!important}
}
@media(prefers-reduced-motion:reduce){
 #rak-v211-loader .rak-v211-ring,#rak-v211-loader .rak-v212-ring-inner{animation:none!important}
 body.rak-v211-active :is(.rak-service-card,.rak-v11-value-card,.rak-info-panel) {transition:none!important}
 body.rak-v211-active :is(.rak-btn-orange,.rak-header-cta) .elementor-button{transform:none!important;transition:none!important}
}
/* v2.12 QA contrast patch: beat v2.7 card-content's high-specificity pale-card colors. */
body.rak-v211-active :is(.rak-service-card,.rak-project-card,.rak-article-card) .rak-card-content .elementor-heading-title {
 color:#faf9f6!important;opacity:1!important;text-shadow:none!important;
}
body.rak-v211-active :is(.rak-service-card,.rak-project-card,.rak-article-card) .rak-card-content :is(.elementor-widget-text-editor,.elementor-widget-text-editor .elementor-widget-container,p,span) {
 color:#d0d2d5!important;opacity:1!important;
}
body.rak-v211-active :is(.rak-header-cta,.rak-btn-orange,.rak-v11-mini-cta,.rak-hero-actions,.rak-v11-pro-form) .elementor-button,
body.rak-v211-active .rak-v25-caption-cta{text-decoration:none!important}
/* Keep strong architecture/job-site photography visible on the right side of the hero. */
body.rak-v211-active .rak-hero::after,
body.rak-v211-active .rak-page-hero::after {
 background:linear-gradient(90deg,rgba(3,4,5,.91) 0%,rgba(7,8,10,.73) 32%,rgba(10,10,10,.40) 63%,rgba(5,6,7,.06) 100%)!important;
}
