/* R.A.K. GROUP | Design A V3.3 — Premium Typography & Visual Polish
 * Optional CSS layer. Requires V3.2. No Elementor page data is modified.
 * Preserves headings/images/buttons as editable Elementor widgets.
 * Scoped to body.rak-v15-active to avoid affecting other sites or the WP admin.
 */
body.rak-v15-active {
  --rak-v33-orange: #ff8310;
  --rak-v33-gold: #ffc474;
  --rak-v33-ink: #0a121c;
  --rak-v33-steel: #152335;
  --rak-v33-text: #f1f5f8;
  --rak-v33-ease: cubic-bezier(.22,1,.36,1);
  -webkit-font-smoothing: antialiased;
}
/* A stronger but restrained masthead. */
body.rak-v15-active .rak-global-header { box-shadow: 0 8px 28px rgba(0,0,0,.20)!important; }
body.rak-v15-active .rak-header {
  background:linear-gradient(110deg,#0b121b 0%,#162332 100%)!important;
  border-bottom:1px solid rgba(255,153,51,.25)!important;
}
body.rak-v15-active .rak-header-inner { max-width:1480px!important;min-height:89px!important;gap:clamp(18px,2vw,31px)!important; }
body.rak-v15-active .rak-header-logo,body.rak-v15-active .rak-header-logo img { width:184px!important;max-width:184px!important; }
body.rak-v15-active .rak-nav-item .elementor-button { font-size:15px!important;line-height:1.4!important;letter-spacing:0!important;font-weight:750!important;padding:12px 10px!important; }
body.rak-v15-active .rak-header-cta .elementor-button {
  font-size:15px!important;min-height:49px!important;padding:13px 22px!important;
  border-radius:6px!important;background:linear-gradient(130deg,#ff9b29,#fa7a05)!important;
  box-shadow:0 10px 30px rgba(234,105,4,.24)!important;
}
body.rak-v15-active .rak-header-cta .elementor-button:hover { background:linear-gradient(130deg,#ffad44,#ff8617)!important; }
/* Hero — promote the drill rig as the focal point; no replacement of editable source photo. */
body.rak-v15-active .rak-hero {
  min-height:clamp(660px,75svh,855px)!important;
  padding:clamp(100px,9vw,145px) max(6.4%,calc((100vw - 1340px)/2)) clamp(98px,8vw,135px)!important;
  background:#091019!important;
}
body.rak-v15-active .rak-hero:after {
  background:linear-gradient(91deg,rgba(5,10,17,.96) 0%,rgba(8,14,23,.90) 31%,rgba(7,12,20,.66) 52%,rgba(7,11,16,.25) 77%,rgba(7,12,18,.11) 100%)!important;
}
body.rak-v15-active .rak-hero-image img {
  object-position:56% 66%!important;
  filter:contrast(1.10) saturate(1.12) brightness(.93)!important;
}
body.rak-v15-active .rak-hero:before { opacity:.68!important; }
body.rak-v15-active .rak-hero-content { max-width:min(790px,68vw)!important;gap:11px!important; }
body.rak-v15-active .rak-hero-eyebrow .elementor-heading-title {
  color:#ffe1b7!important;font-size:clamp(13px,1.05vw,16px)!important;
  letter-spacing:.13em!important;line-height:1.6!important;
}
body.rak-v15-active .rak-hero-title .elementor-heading-title,
body.rak-v15-active .rak-hero-highlight .elementor-heading-title {
  font-size:clamp(55px,5.5vw,86px)!important;font-weight:900!important;
  line-height:1.17!important;letter-spacing:-.045em!important;
  text-shadow:0 8px 23px rgba(0,0,0,.35)!important;
}
body.rak-v15-active .rak-hero-company .elementor-widget-container {
  color:#fff!important;font-size:clamp(17px,1.3vw,20px)!important;line-height:1.85!important;
}
body.rak-v15-active .rak-hero-desc .elementor-widget-container {
  color:#ebf0f5!important;font-size:clamp(17px,1.28vw,20px)!important;line-height:1.9!important;
  text-shadow:0 2px 7px rgba(0,0,0,.2)!important;
}
body.rak-v15-active .rak-hero-actions { margin-top:31px!important;gap:15px!important; }
body.rak-v15-active .rak-hero-actions .elementor-button {
  min-height:56px!important;padding:16px 27px!important;font-size:16px!important;
  border-radius:6px!important;font-weight:800!important;
}
body.rak-v15-active .rak-btn-orange .elementor-button {
  background:linear-gradient(135deg,#ff9f29,#ff7906)!important;
  box-shadow:0 14px 30px rgba(221,95,7,.30)!important;
}
body.rak-v15-active .rak-btn-outline .elementor-button { border:1px solid rgba(255,255,255,.77)!important; }
/* Numerical trust cues — retain demo markers. */
body.rak-v15-active .rak-stat-bar { border-top:2px solid #f9922c!important; }
body.rak-v15-active .rak-stat { padding:27px 16px 31px!important; }
body.rak-v15-active .rak-stat-num .elementor-heading-title { font-size:clamp(35px,3vw,49px)!important; }
body.rak-v15-active .rak-stat-label .elementor-widget-container { font-size:15px!important;color:#e4eaf0!important; }
/* Readable editorial sections across ALL six primary pages. */
body.rak-v15-active .rak-section,body.rak-v15-active .rak-v11-section {
  padding-top:clamp(76px,6.8vw,110px)!important;
  padding-bottom:clamp(76px,6.8vw,110px)!important;
}
body.rak-v15-active .rak-section-title .elementor-heading-title,
body.rak-v15-active .rak-v11-heading-title .elementor-heading-title {
  font-size:clamp(35px,3.15vw,51px)!important;line-height:1.3!important;letter-spacing:-.035em!important;
}
body.rak-v15-active .rak-section-intro .elementor-widget-container,
body.rak-v15-active .rak-v11-intro .elementor-widget-container {
  color:#3d4b58!important;font-size:17px!important;line-height:1.95!important;
}
body.rak-v15-active .rak-kicker .elementor-heading-title,
body.rak-v15-active .rak-v11-eyebrow .elementor-heading-title,
body.rak-v15-active .rak-v12-kicker .elementor-heading-title {
  color:#be5700!important;font-size:13px!important;letter-spacing:.15em!important;
}
/* Service, portfolio and article cards — photograph first. */
body.rak-v15-active .rak-grid-four { gap:clamp(17px,1.6vw,25px)!important; }
body.rak-v15-active .rak-service-card,
body.rak-v15-active .rak-project-card,
body.rak-v15-active .rak-article-card {
  border-radius:11px!important;border:1px solid #e0e6eb!important;
  box-shadow:0 15px 38px rgba(8,23,37,.11)!important;
  transition:transform .32s var(--rak-v33-ease),box-shadow .32s var(--rak-v33-ease)!important;
}
body.rak-v15-active .rak-service-card:hover,
body.rak-v15-active .rak-project-card:hover,
body.rak-v15-active .rak-article-card:hover {
  transform:translateY(-5px)!important;box-shadow:0 24px 49px rgba(7,24,40,.18)!important;
}
body.rak-v15-active .rak-card-photo,
body.rak-v15-active .rak-card-photo img { height:clamp(250px,20vw,335px)!important; }
body.rak-v15-active .rak-card-photo img { object-position:50% 53%!important;filter:contrast(1.08) saturate(1.10)!important; }
body.rak-v15-active .rak-card-content { padding:27px clamp(20px,1.6vw,29px) 29px!important;gap:8px!important; }
body.rak-v15-active .rak-card-heading .elementor-heading-title { font-size:clamp(21px,1.6vw,26px)!important;line-height:1.45!important; }
body.rak-v15-active .rak-english .elementor-widget-container { font-size:14px!important;line-height:1.5!important; }
body.rak-v15-active .rak-small .elementor-widget-container { font-size:16px!important;line-height:1.85!important; }
body.rak-v15-active .rak-link-button .elementor-button { font-size:15px!important;min-height:32px!important; }
body.rak-v15-active .rak-v12-card-number .elementor-heading-title { font-size:31px!important; }
/* About photo and editorial split. */
body.rak-v15-active .rak-about-teaser { background:#101b29!important; }
body.rak-v15-active .rak-about-media { min-height:clamp(475px,41vw,620px)!important; }
body.rak-v15-active .rak-about-photo img { object-position:50% 50%!important;filter:contrast(1.08) saturate(1.07)!important; }
body.rak-v15-active .rak-about-text {
  background:linear-gradient(135deg,#1a2a3b,#0c1724)!important;
  padding:clamp(56px,5.7vw,86px) clamp(32px,5.2vw,78px)!important;
}
body.rak-v15-active .rak-about-text .elementor-widget-text-editor .elementor-widget-container {
  font-size:17px!important;line-height:2!important;color:#eef2f6!important;
}
body.rak-v15-active .rak-about-text .rak-section-title .elementor-heading-title { font-size:clamp(37px,3.1vw,50px)!important; }
/* Secondary page hero, split features, headings and form. */
body.rak-v15-active .rak-page-hero { min-height:clamp(405px,38vw,550px)!important; }
body.rak-v15-active .rak-page-title .elementor-heading-title { font-size:clamp(44px,4vw,63px)!important;line-height:1.25!important; }
body.rak-v15-active .rak-page-intro .elementor-widget-container { font-size:17px!important;line-height:1.95!important; }
body.rak-v15-active .rak-v12-story-title .elementor-heading-title,
body.rak-v15-active .rak-v12-tech-title .elementor-heading-title,
body.rak-v15-active .rak-v12-insight-title .elementor-heading-title { font-size:clamp(36px,3.45vw,55px)!important;line-height:1.32!important; }
body.rak-v15-active .rak-v11-split-copy .elementor-widget-text-editor .elementor-widget-container,
body.rak-v15-active .rak-v12-story-copy .elementor-widget-text-editor .elementor-widget-container,
body.rak-v15-active .rak-v12-tech-copy .elementor-widget-text-editor .elementor-widget-container,
body.rak-v15-active .rak-v12-insight-copy .elementor-widget-text-editor .elementor-widget-container { font-size:17px!important;line-height:1.95!important; }
body.rak-v15-active .rak-v11-value-card { box-shadow:0 12px 32px rgba(8,23,39,.095)!important;border:1px solid #e7ebef!important; }
body.rak-v15-active .rak-v11-contact-form-wrap { border-top:4px solid var(--rak-v33-orange)!important;box-shadow:0 20px 50px rgba(7,22,40,.15)!important; }
body.rak-v15-active .rak-v11-pro-form .elementor-field { font-size:16px!important;min-height:50px!important; }
body.rak-v15-active .rak-v11-pro-form .elementor-button { font-size:16px!important;min-height:53px!important; }
body.rak-v15-active .rak-cta-content .elementor-heading-title { font-size:clamp(36px,3.65vw,56px)!important;line-height:1.31!important; }
/* Standard keyboard focus and pointer behavior. */
body.rak-v15-active a:focus-visible,
body.rak-v15-active button:focus-visible,
body.rak-v15-active input:focus-visible,
body.rak-v15-active textarea:focus-visible { outline:3px solid #ffad3e!important;outline-offset:3px!important; }
/* Portrait displays & smaller laptops: accessible menu and two-column cards. */
@media (max-width:1239px) {
  body.rak-v15-active .rak-header-inner { min-height:78px!important;padding:10px 22px!important; }
  body.rak-v15-active .rak-header-logo,body.rak-v15-active .rak-header-logo img { width:164px!important;max-width:164px!important; }
  body.rak-v15-active .rak-nav-links { display:none!important; }
  body.rak-v15-active .rak-header.is-open .rak-nav-links { display:flex!important; }
  body.rak-v15-active .rak-header.is-open .rak-nav-item .elementor-button { font-size:17px!important;padding:15px 18px!important;min-height:48px!important; }
  body.rak-v15-active .rak-menu-toggle { display:block!important; }
  body.rak-v15-active .rak-menu-toggle .elementor-button { min-width:48px!important;min-height:46px!important; }
  body.rak-v15-active .rak-hero { min-height:clamp(620px,73svh,760px)!important;padding:96px 6% 99px!important; }
  body.rak-v15-active .rak-hero-content { max-width:76%!important; }
  body.rak-v15-active .rak-hero-title .elementor-heading-title,
  body.rak-v15-active .rak-hero-highlight .elementor-heading-title { font-size:clamp(49px,6.2vw,72px)!important; }
  body.rak-v15-active .rak-grid-four { grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important; }
  body.rak-v15-active .rak-card-photo,body.rak-v15-active .rak-card-photo img { height:clamp(265px,31vw,370px)!important; }
  body.rak-v15-active .rak-about-teaser { grid-template-columns:1fr 1fr!important; }
  body.rak-v15-active .rak-about-text { padding:55px 34px!important; }
}
@media (max-width:850px) {
  body.rak-v15-active .rak-hero { min-height:650px!important;padding:88px 6% 85px!important; }
  body.rak-v15-active .rak-hero-content { max-width:88%!important; }
  body.rak-v15-active .rak-hero-title .elementor-heading-title,
  body.rak-v15-active .rak-hero-highlight .elementor-heading-title { font-size:clamp(43px,7vw,62px)!important; }
  body.rak-v15-active .rak-about-teaser { grid-template-columns:1fr!important; }
  body.rak-v15-active .rak-about-media,body.rak-v15-active .rak-about-photo img { min-height:410px!important;height:410px!important; }
  body.rak-v15-active .rak-about-text { padding:55px 7%!important; }
}
@media (max-width:767px) {
  body.rak-v15-active .rak-header-inner { min-height:70px!important;padding:10px 18px!important; }
  body.rak-v15-active .rak-header-logo,body.rak-v15-active .rak-header-logo img { width:148px!important;max-width:148px!important; }
  body.rak-v15-active .rak-header-cta { display:none!important; }
  body.rak-v15-active .rak-hero { min-height:650px!important;padding:72px 23px 66px!important;justify-content:flex-end!important; }
  body.rak-v15-active .rak-hero:after { background:linear-gradient(0deg,rgba(5,10,17,.985) 0%,rgba(5,10,17,.96) 39%,rgba(5,10,17,.64) 75%,rgba(5,10,17,.35) 100%)!important; }
  body.rak-v15-active .rak-hero-image img { object-position:61% 50%!important; }
  body.rak-v15-active .rak-hero-content { max-width:100%!important;gap:9px!important; }
  body.rak-v15-active .rak-hero-title .elementor-heading-title,
  body.rak-v15-active .rak-hero-highlight .elementor-heading-title { font-size:clamp(36px,9.5vw,52px)!important;line-height:1.2!important; }
  body.rak-v15-active .rak-hero-eyebrow .elementor-heading-title { font-size:11px!important;letter-spacing:.095em!important; }
  body.rak-v15-active .rak-hero-company .elementor-widget-container,
  body.rak-v15-active .rak-hero-desc .elementor-widget-container { font-size:16px!important;line-height:1.85!important; }
  body.rak-v15-active .rak-hero-actions { width:100%!important;gap:10px!important;margin-top:23px!important; }
  body.rak-v15-active .rak-hero-actions>.rak-button { width:100%!important; }
  body.rak-v15-active .rak-hero-actions .elementor-button { width:100%!important;min-height:51px!important;font-size:15px!important; }
  body.rak-v15-active .rak-stat { padding:21px 10px 23px!important; }
  body.rak-v15-active .rak-stat-num .elementor-heading-title { font-size:32px!important; }
  body.rak-v15-active .rak-stat-label .elementor-widget-container { font-size:13px!important; }
  body.rak-v15-active .rak-section,body.rak-v15-active .rak-v11-section { padding:62px 22px!important; }
  body.rak-v15-active .rak-section-title .elementor-heading-title,
  body.rak-v15-active .rak-v11-heading-title .elementor-heading-title { font-size:clamp(30px,7.6vw,38px)!important; }
  body.rak-v15-active .rak-section-intro .elementor-widget-container,
  body.rak-v15-active .rak-v11-intro .elementor-widget-container { font-size:16px!important; }
  body.rak-v15-active .rak-grid-four { grid-template-columns:1fr!important;gap:19px!important; }
  body.rak-v15-active .rak-card-photo,body.rak-v15-active .rak-card-photo img { height:clamp(260px,67vw,330px)!important; }
  body.rak-v15-active .rak-card-content { padding:23px!important; }
  body.rak-v15-active .rak-card-heading .elementor-heading-title { font-size:23px!important; }
  body.rak-v15-active .rak-about-media,body.rak-v15-active .rak-about-photo img { min-height:320px!important;height:320px!important; }
  body.rak-v15-active .rak-about-text { padding:48px 24px!important; }
  body.rak-v15-active .rak-about-text .rak-section-title .elementor-heading-title { font-size:35px!important; }
  body.rak-v15-active .rak-about-text .elementor-widget-text-editor .elementor-widget-container { font-size:16px!important; }
  body.rak-v15-active .rak-page-hero { min-height:340px!important;padding:58px 23px!important; }
  body.rak-v15-active .rak-page-title .elementor-heading-title { font-size:clamp(34px,8.5vw,45px)!important; }
  body.rak-v15-active .rak-page-intro .elementor-widget-container { font-size:16px!important; }
  body.rak-v15-active .rak-v11-split-copy .elementor-widget-text-editor .elementor-widget-container,
  body.rak-v15-active .rak-v12-story-copy .elementor-widget-text-editor .elementor-widget-container { font-size:16px!important; }
  body.rak-v15-active .rak-v11-contact-form-wrap { padding:27px 20px!important; }
  body.rak-v15-active .rak-cta-banner { min-height:320px!important; }
}
@media (prefers-reduced-motion:reduce) {
  body.rak-v15-active .rak-service-card,body.rak-v15-active .rak-project-card,
  body.rak-v15-active .rak-article-card,body.rak-v15-active .rak-card-photo img,
  body.rak-v15-active .elementor-button { transition:none!important;transform:none!important; }
}
