/* R.A.K. GROUP Design A v4.0 — premium presentation system.
   Additive presentation only; text/images/buttons remain native Elementor widgets.
   Selectors restricted to the site with the successful v2.0 upgrade. */
body.rak-v20-active {
  --rak-premium-orange:#ff7900;
  --rak-premium-gold:#ffba55;
  --rak-premium-ink:#101720;
  --rak-premium-ease:cubic-bezier(.22,.65,.24,1);
}
body.rak-v20-active .rak-global-header {box-shadow:0 16px 42px rgba(3,8,14,.24)!important}
body.rak-v20-active .rak-header {background:linear-gradient(112deg,#10151d 0%,#171d27 58%,#111923 100%)!important}
body.rak-v20-active .rak-header:after {content:"";position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:linear-gradient(90deg,#ff7d07 0%,#ffac38 22%,transparent 65%);pointer-events:none}
body.rak-v20-active .rak-header-inner {max-width:1460px!important;min-height:84px!important;gap:clamp(12px,1.6vw,28px)!important}
body.rak-v20-active .rak-header-logo img {filter:drop-shadow(0 2px 8px #0006)}
body.rak-v20-active .rak-nav-item .elementor-button {font-size:clamp(13px,.92vw,15px)!important;letter-spacing:.01em!important;font-weight:700!important;transition:color .22s ease,background .22s ease!important}
body.rak-v20-active .rak-nav-item .elementor-button:hover,body.rak-v20-active .rak-nav-item .elementor-button:focus-visible {background:rgba(255,122,0,.10)!important;color:#ffc27c!important}
body.rak-v20-active :is(.rak-header-cta,.rak-profile-cta) .elementor-button {background:linear-gradient(120deg,#ff980e 0%,#ff7000 63%,#ec5500 100%)!important;border:1px solid #ffb35a!important;box-shadow:0 7px 16px #0002,0 16px 35px #ff790027!important;color:#fff!important;border-radius:9px!important;position:relative;overflow:hidden;min-height:50px!important;display:inline-flex!important;align-items:center!important;gap:8px!important;transition:transform .24s var(--rak-premium-ease),box-shadow .24s ease!important}
body.rak-v20-active :is(.rak-header-cta,.rak-profile-cta) .elementor-button:hover {transform:translateY(-2px)!important;box-shadow:0 18px 40px #ff790047!important}
body.rak-v20-active :is(.rak-header-cta,.rak-profile-cta) .elementor-button:focus-visible {outline:3px solid #fff!important;outline-offset:3px!important}
/* Approved cinematic three-image hero. Elementor Pro owns image/text/navigation/editing. */
body.rak-v20-active .rak-premium-slide-shell {position:relative!important;isolation:isolate;overflow:hidden!important;border-bottom:3px solid #ff7d00!important}
body.rak-v20-active .rak-premium-slide-shell .rak-premium-slider {margin:0!important;isolation:isolate}
body.rak-v20-active .rak-premium-slider .swiper-slide {isolation:isolate;overflow:hidden}
body.rak-v20-active .rak-premium-slider .swiper-slide::before {z-index:1!important;background:linear-gradient(91deg,rgba(4,9,16,.96) 0%,rgba(7,13,23,.90) 26%,rgba(9,15,25,.70) 47%,rgba(12,18,26,.22) 76%,rgba(5,10,17,.09) 100%),linear-gradient(0deg,rgba(4,10,15,.54),transparent 36%)!important}
body.rak-v20-active .rak-premium-slider .swiper-slide::after {content:"";position:absolute;z-index:1;top:-30%;right:2%;width:clamp(85px,11vw,200px);height:125%;transform:skewX(-26deg);background:linear-gradient(90deg,#ff7d00 0%,#ffb62b 15%,#e75c00 20%,transparent 23%);opacity:.82;pointer-events:none}
body.rak-v20-active .rak-premium-slider .swiper-slide-bg {background-position:55% 55%!important;filter:saturate(1.10) contrast(1.06) brightness(.96)!important;transform:scale(1.02);transition:transform 7.2s linear!important}
body.rak-v20-active .rak-premium-slider .swiper-slide-active .swiper-slide-bg {transform:scale(1.075)!important}
body.rak-v20-active .rak-premium-slider .swiper-slide-inner {min-height:clamp(620px,79svh,820px)!important;display:flex!important;align-items:center!important;padding:clamp(82px,8vw,118px) max(7%,calc((100vw - 1350px)/2)) 115px!important;position:relative!important;z-index:3!important}
body.rak-v20-active .rak-premium-slider .swiper-slide-contents {width:min(760px,66%)!important;max-width:760px!important;position:relative}
body.rak-v20-active .rak-premium-slider .swiper-slide-contents::before {content:"PROFESSIONAL ENGINEERING SERVICES";display:block;color:#f2f4f9;font-size:clamp(10px,.8vw,13px);letter-spacing:.22em;font-weight:800;border-left:4px solid #ff870d;padding-left:15px;margin-bottom:28px;line-height:1.7}
body.rak-v20-active .rak-premium-slider .elementor-slide-heading {font-family:'Noto Sans Thai',sans-serif!important;font-size:clamp(42px,5.05vw,83px)!important;font-weight:900!important;line-height:1.20!important;letter-spacing:-.037em!important;text-wrap:balance;text-shadow:0 4px 26px #0009!important;margin-bottom:23px!important}
body.rak-v20-active .rak-premium-slider .elementor-slide-description {font-size:clamp(16px,1.16vw,20px)!important;font-weight:500!important;line-height:1.85!important;color:#f1f5f9!important;max-width:590px!important;text-shadow:0 3px 16px #0007!important;margin-bottom:34px!important}
body.rak-v20-active .rak-premium-slider .elementor-slide-button {min-height:54px!important;font-size:16px!important;font-weight:800!important;padding:16px 27px!important;border-radius:9px!important;background:linear-gradient(120deg,#ff8e12,#f66b00)!important;box-shadow:0 15px 40px #f66b0044!important}
body.rak-v20-active .rak-premium-slider .elementor-swiper-button {z-index:5!important;background:#0b131c85;padding:12px;border:1px solid #ffffff44;border-radius:50%;backdrop-filter:blur(8px);transition:background .2s ease!important}
body.rak-v20-active .rak-premium-slider .elementor-swiper-button:hover {background:#ff7900db!important}
body.rak-v20-active .rak-premium-slider .swiper-pagination {bottom:35px!important;z-index:5!important}
body.rak-v20-active .rak-premium-slider .swiper-pagination-bullet {width:34px!important;height:4px!important;border-radius:8px!important;opacity:.7!important;background:#e7ecf3!important;margin:0 5px!important;transition:width .24s ease!important}
body.rak-v20-active .rak-premium-slider .swiper-pagination-bullet-active {width:53px!important;background:#ff870e!important;opacity:1!important}
/* Eyebrows and section headings carry the editorial engineering aesthetic. */
body.rak-v20-active .rak-section {position:relative}
body.rak-v20-active :is(.rak-kicker,.rak-v11-eyebrow,.rak-v12-kicker) .elementor-heading-title {letter-spacing:.19em!important;font-size:12px!important;font-weight:900!important;color:#f07900!important}
body.rak-v20-active :is(.rak-section-title,.rak-v11-heading-title) .elementor-heading-title {font-size:clamp(35px,3.3vw,56px)!important;line-height:1.25!important;font-weight:900!important;letter-spacing:-.028em!important}
body.rak-v20-active :is(.rak-section-intro,.rak-v11-intro) .elementor-widget-container {font-size:clamp(16px,1.12vw,19px)!important;line-height:1.85!important}
/* Bigger cinematic service photography / purposeful 01–04 cards. */
body.rak-v20-active :is(.rak-service-card,.rak-project-card,.rak-article-card) {position:relative!important;isolation:isolate;border-radius:14px!important;overflow:hidden!important;box-shadow:0 13px 30px #09192a14,0 3px 7px #0a182014!important;transition:transform .35s var(--rak-premium-ease),box-shadow .35s ease,border-color .35s ease!important;border:1px solid #e6e9ed!important}
body.rak-v20-active .rak-service-card::before {content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#ff7b00,#ffbd57,transparent 88%);z-index:3;pointer-events:none}
body.rak-v20-active :is(.rak-service-card,.rak-project-card,.rak-article-card):hover {transform:translateY(-7px)!important;box-shadow:0 25px 58px #06172933!important;border-color:#ff8d344c!important}
body.rak-v20-active .rak-card-photo {height:clamp(225px,19vw,300px)!important;overflow:hidden!important;position:relative!important}
body.rak-v20-active .rak-card-photo::after {content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0d17252a,transparent 42%);pointer-events:none}
body.rak-v20-active .rak-card-photo img {height:100%!important;object-fit:cover!important;filter:contrast(1.08) saturate(1.11);transition:transform .65s var(--rak-premium-ease),filter .45s ease!important}
body.rak-v20-active :is(.rak-service-card,.rak-project-card):hover .rak-card-photo img {transform:scale(1.065)!important;filter:contrast(1.06) saturate(1.18)}
body.rak-v20-active .rak-card-content {padding:25px 24px 30px!important;gap:9px!important}
body.rak-v20-active .rak-service-index .elementor-heading-title {font-size:clamp(31px,2.5vw,44px)!important;font-weight:900!important;line-height:1!important;color:#ff7800!important;letter-spacing:-.04em!important}
body.rak-v20-active .rak-card-heading .elementor-heading-title {font-size:clamp(20px,1.38vw,24px)!important;font-weight:850!important;line-height:1.33!important}
body.rak-v20-active .rak-english .elementor-widget-container {font-size:15px!important;font-weight:750!important;color:#0b557a!important}
body.rak-v20-active .rak-link-button .elementor-button {font-size:15px!important;font-weight:850!important;color:#ed7100!important}
body.rak-v20-active .rak-link-button .elementor-button::after {content:'↗';display:inline-block;margin-left:8px;font-size:18px;transition:transform .25s ease}
body.rak-v20-active .rak-service-card:hover .rak-link-button .elementor-button::after {transform:translate(2px,-2px)}
/* About and closing sections: alternating dark/light, an approved brand language. */
body.rak-v20-active :is(.rak-about-text,.rak-v11-split-copy) {background:linear-gradient(135deg,#182330,#101720)!important;border-left:3px solid #f77d12!important;color:#eaf0f8!important;position:relative!important}
body.rak-v20-active :is(.rak-about-text,.rak-v11-split-copy) :is(.elementor-heading-title,.elementor-widget-text-editor,.elementor-widget-container) {color:#f1f5f9!important}
body.rak-v20-active .rak-about-text {padding:clamp(54px,5.2vw,92px)!important;gap:20px!important}
body.rak-v20-active .rak-about-media {min-height:540px!important}
body.rak-v20-active .rak-about-media img {filter:contrast(1.05) saturate(1.12)!important}
body.rak-v20-active .rak-v11-quote {background:radial-gradient(circle at 80% -10%,#293e55 0%,#15202b 33%,#0b121c 78%)!important}
body.rak-v20-active .rak-v11-value-card {box-shadow:0 13px 35px #0a182015!important;border-top:4px solid #ff830a!important}
body.rak-v20-active :is(.rak-v11-step-card,.rak-v11-value-card,.rak-info-panel) {transition:transform .28s var(--rak-premium-ease),box-shadow .28s ease!important}
body.rak-v20-active :is(.rak-v11-step-card,.rak-v11-value-card,.rak-info-panel):hover {transform:translateY(-5px)!important;box-shadow:0 20px 40px #0a182027!important}
body.rak-v20-active .rak-cta-banner {border-top:2px solid #ff8714!important;border-bottom:2px solid #ff8714!important}
body.rak-v20-active .rak-page-hero {min-height:430px!important}
body.rak-v20-active .rak-page-title .elementor-heading-title {font-size:clamp(45px,4.6vw,72px)!important;line-height:1.21!important}
body.rak-v20-active .rak-v11-pro-form :is(input,textarea,select) {border-radius:8px!important;font-size:16px!important;min-height:49px!important}
body.rak-v20-active :is(button,a,input,textarea,select):focus-visible {outline:3px solid #ff9e39!important;outline-offset:3px!important}
/* Slim scroll-progress line uses one passive scroll listener and no layout shifts. */
body.rak-v20-active #rak-v20-progress {position:fixed;left:0;top:0;height:3px;z-index:100000;pointer-events:none;background:linear-gradient(90deg,#fa7300,#ffc15c);width:0;box-shadow:0 1px 9px #ff8a0066;transform-origin:left center}
body.admin-bar.rak-v20-active #rak-v20-progress {top:32px}
@media (max-width:1239px) {
 body.rak-v20-active .rak-premium-slider .swiper-slide-inner {min-height:620px!important;padding:72px 9% 95px!important}
 body.rak-v20-active .rak-premium-slider .swiper-slide-contents {width:78%!important}
 body.rak-v20-active .rak-premium-slider .elementor-slide-heading {font-size:clamp(40px,5.6vw,62px)!important}
 body.rak-v20-active .rak-premium-slider .swiper-slide::after {right:-8%;opacity:.58}
 body.rak-v20-active .rak-header-inner {min-height:76px!important}
 body.rak-v20-active .rak-card-photo {height:260px!important}
}
@media (max-width:767px) {
 body.rak-v20-active .rak-premium-slider .swiper-slide-inner {min-height:590px!important;padding:64px 7% 91px!important}
 body.rak-v20-active .rak-premium-slider .swiper-slide-contents {width:100%!important;max-width:100%!important}
 body.rak-v20-active .rak-premium-slider .swiper-slide::before {background:linear-gradient(90deg,#06101ce9 0%,#07101cc7 65%,#09101a8a 100%)!important}
 body.rak-v20-active .rak-premium-slider .swiper-slide::after {right:-24%;width:140px;opacity:.32}
 body.rak-v20-active .rak-premium-slider .swiper-slide-bg {background-position:55% 55%!important}
 body.rak-v20-active .rak-premium-slider .swiper-slide-contents::before {font-size:10px;letter-spacing:.13em;margin-bottom:22px}
 body.rak-v20-active .rak-premium-slider .elementor-slide-heading {font-size:clamp(33px,8.3vw,47px)!important;margin-bottom:18px!important}
 body.rak-v20-active .rak-premium-slider .elementor-slide-description {font-size:15px!important;line-height:1.7!important}
 body.rak-v20-active .rak-premium-slider .elementor-slide-button {font-size:14px!important;padding:15px 19px!important;min-height:49px!important}
 body.rak-v20-active .rak-premium-slider .elementor-swiper-button {display:none!important}
 body.rak-v20-active .rak-card-photo {height:235px!important}
 body.rak-v20-active .rak-about-media {min-height:360px!important}
 body.rak-v20-active .rak-about-text {padding:45px 7%!important}
 body.rak-v20-active .rak-service-card:hover,body.rak-v20-active .rak-project-card:hover {transform:none!important}
 body.rak-v20-active .rak-section-title .elementor-heading-title {font-size:clamp(30px,7.3vw,40px)!important}
 body.rak-v20-active #rak-v20-progress {height:2px}
 body.admin-bar.rak-v20-active #rak-v20-progress {top:46px}
}
@media (prefers-reduced-motion:reduce) {
 body.rak-v20-active .swiper-slide-bg,body.rak-v20-active :is(.rak-service-card,.rak-project-card,.rak-article-card),body.rak-v20-active .rak-card-photo img,body.rak-v20-active .elementor-button {animation:none!important;transition:none!important;transform:none!important}
 body.rak-v20-active #rak-v20-progress {display:none!important}
}
