/* GPR KSA v4 — production UI */
:root{
  --bg:#07141c; --bg2:#0a1c26; --panel:#0c202b; --panel2:#102834;
  --text:#f4f6f7; --muted:#aebdc5; --line:#203a47;
  --accent:#d6a04c; --accent2:#f1c873; --accent-soft:rgba(214,160,76,.13);
  --success:#72c5a4; --danger:#ef8d8d; --max:1160px; --radius:12px;
  --shadow:0 18px 55px rgba(0,0,0,.22);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
img,svg{max-width:100%}
.wrap{width:min(var(--max),calc(100% - 40px));margin-inline:auto}
.skip-link{position:fixed;left:14px;top:-60px;z-index:9999;padding:10px 14px;border-radius:7px;background:var(--accent2);color:#06131a;font-weight:800}.skip-link:focus{top:14px}
:focus-visible{outline:3px solid rgba(241,200,115,.72);outline-offset:3px}
.topbar{background:#041018;border-bottom:1px solid rgba(255,255,255,.07);font-size:12.5px;color:#98aeb9}
.topbar .wrap{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.topbar a{color:#c8d3d9}
.site-header{position:sticky;top:0;z-index:80;background:rgba(7,20,28,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}
.site-nav{min-height:68px;display:flex;align-items:center;gap:28px}
.brand{display:inline-flex;align-items:center;gap:7px;font-weight:900;letter-spacing:.12em;font-size:17px;white-space:nowrap}.brand b{color:var(--accent2)}
.navlinks{display:flex;align-items:center;gap:22px;margin-left:auto;font-size:13.5px;color:#d6dee2}.navlinks a{padding:24px 0;position:relative}.navlinks a:after{content:"";position:absolute;left:0;right:100%;bottom:17px;height:1px;background:var(--accent2);transition:right .2s ease}.navlinks a:hover:after{right:0}.navlinks a:hover{color:white}
.nav-toggle{display:none;margin-left:auto;width:42px;height:40px;border:1px solid var(--line);border-radius:8px;background:transparent;color:white;align-items:center;justify-content:center;cursor:pointer}.nav-toggle span,.nav-toggle:before,.nav-toggle:after{content:"";display:block;width:18px;height:1px;background:currentColor;position:absolute}.nav-toggle:before{transform:translateY(-6px)}.nav-toggle:after{transform:translateY(6px)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 17px;border-radius:8px;background:var(--accent);color:#06131a;border:1px solid var(--accent);font-weight:800;font-size:13.5px;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease}.btn:hover{background:var(--accent2);border-color:var(--accent2);transform:translateY(-1px)}.btn.ghost{background:transparent;color:var(--text);border-color:#38515d}.btn.ghost:hover{border-color:#6f8791;background:rgba(255,255,255,.03)}.nav-cta{margin-left:4px}

/* Hero — lightweight technical radar banner, no raster imagery */
.hero{position:relative;overflow:hidden;padding:74px 0 44px;background:linear-gradient(180deg,#07141c 0%,#081922 100%)}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 34%,rgba(214,160,76,.12),transparent 26%),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:auto,36px 36px,36px 36px;mask-image:linear-gradient(to bottom,black,transparent 90%);pointer-events:none}
.hero-layout{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:52px;align-items:center}
.hero-copy{position:relative;z-index:2}.eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.13em;color:var(--accent2);font-weight:850;font-size:11px}.eyebrow:before{content:"";width:24px;height:1px;background:currentColor}
.hero h1,.pagehero h1{letter-spacing:-.035em}.hero h1{font-size:clamp(2.35rem,4.4vw,3.75rem);line-height:1.05;margin:14px 0 16px;max-width:770px}.hero p{max-width:700px;font-size:16px;line-height:1.7;color:#b7c5cb;margin:0}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.radar-banner{position:relative;min-height:345px;border:1px solid #29434f;border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#0a1d28,#07151d);box-shadow:var(--shadow)}
.radar-banner:after{content:"LIVE SUBSURFACE PROFILE";position:absolute;right:16px;top:14px;font-size:9.5px;letter-spacing:.14em;color:#7f98a5}
.radar-banner svg{display:block;width:100%;height:100%;min-height:345px}
.radar-grid{opacity:.3}.radar-trace{fill:none;stroke:#efbf6b;stroke-width:2;filter:drop-shadow(0 0 5px rgba(239,191,107,.24))}.radar-subtrace{fill:none;stroke:#86b9c9;stroke-width:1.15;opacity:.72}.scan-beam{fill:none;stroke:#d7a34c;stroke-width:1.2;opacity:.28}.utility{fill:#d6a04c}.surface{stroke:#9ab0ba;stroke-width:1.4;opacity:.7}.device{fill:#152f3b;stroke:#c99a4e;stroke-width:1.5}.wheel{fill:#061219;stroke:#67808d;stroke-width:1.2}.svg-label{fill:#829aa5;font-size:10px;letter-spacing:.09em}.svg-accent{fill:#e9c06e;font-size:10px;font-weight:700;letter-spacing:.08em}
.metrics{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);margin-top:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.metric{padding:16px 20px;border-right:1px solid var(--line)}.metric:first-child{padding-left:0}.metric:last-child{border-right:0}.metric strong{display:block;color:var(--accent2);font-size:14px;margin-bottom:2px}.metric span{font-size:12.5px;color:#91a6b0}

section{padding:64px 0}.alt-section{background:#081923}.sectionhead{max-width:740px;margin-bottom:28px}.sectionhead h2{font-size:clamp(1.7rem,3vw,2.45rem);line-height:1.16;letter-spacing:-.026em;margin:8px 0 9px}.sectionhead p{margin:0;color:var(--muted);font-size:14.5px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.card{display:block;background:linear-gradient(180deg,var(--panel),#091b24);border:1px solid var(--line);border-radius:var(--radius);padding:22px;transition:border-color .18s ease,transform .18s ease,background .18s ease}.card:hover{border-color:#3d5b69;transform:translateY(-2px);background:linear-gradient(180deg,#0f2632,#0a1e28)}.card h3{font-size:17px;line-height:1.35;letter-spacing:-.01em;margin:8px 0 8px}.card h2{font-size:21px;line-height:1.25;margin:8px 0 10px}.card p{color:var(--muted);font-size:13.5px;margin:0}.kicker{font-size:10px;color:var(--accent2);font-weight:850;text-transform:uppercase;letter-spacing:.1em}.text-link{display:inline-block;margin-top:14px;color:var(--accent2);font-weight:800;font-size:12.5px}.project-card{display:flex;flex-direction:column;min-height:275px}.project-card .spacer{flex:1}.tags{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 12px}.tag{border:1px solid var(--line);color:#9eb0b8;background:#091b25;padding:4px 8px;border-radius:20px;font-size:10.5px}.project-card strong{font-size:12.5px}.services-grid .card{position:relative;padding-top:48px}.service-no{position:absolute;left:22px;top:17px;color:#657f8a;font-size:11px;font-weight:800;letter-spacing:.1em}.service-no b{color:var(--accent2)}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.feature{border-top:1px solid #34505e;padding:18px 4px 2px}.feature strong{display:block;font-size:14px;margin-bottom:7px}.feature p{font-size:12.8px;color:var(--muted);margin:0}.feature-code{display:inline-flex;margin-bottom:14px;color:var(--accent2);font-size:10px;letter-spacing:.12em;font-weight:850}
.industry-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden}.industry{min-height:96px;padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#0a1d27}.industry:nth-child(4n){border-right:0}.industry:nth-last-child(-n+4){border-bottom:0}.industry span{display:block;color:#6e8994;font-size:10px;letter-spacing:.08em;margin-bottom:10px}.industry strong{font-size:13.5px}
.process-list{counter-reset:step;list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.process-list li{counter-increment:step;border:1px solid var(--line);background:#0a1d27;border-radius:10px;padding:18px;min-height:120px;font-size:12.5px;color:var(--muted)}.process-list li:before{content:"0" counter(step);display:block;color:var(--accent2);font-weight:900;font-size:12px;letter-spacing:.1em;margin-bottom:13px}.process-list li>span{display:block;color:var(--text);font-size:13px;font-weight:800;margin-bottom:5px}

.pagehero{position:relative;overflow:hidden;padding:58px 0 34px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#081922,#07141c)}.pagehero:after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:34px 34px;pointer-events:none}.pagehero .wrap{position:relative;z-index:2}.breadcrumbs{font-size:11.5px;color:#859ca6;margin-bottom:12px}.breadcrumbs a:hover{color:var(--accent2)}.pagehero h1{font-size:clamp(2rem,4vw,3.15rem);line-height:1.08;max-width:920px;margin:8px 0 12px}.pagehero p{font-size:14.5px;color:var(--muted);max-width:780px;margin:0}.content{max-width:820px}.content h2{font-size:24px;letter-spacing:-.02em;margin:36px 0 10px}.content h3{font-size:17px;margin:25px 0 8px}.content p,.content li{color:#bdc8cd;font-size:14px}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0}.fact{padding:15px;border:1px solid var(--line);border-radius:9px;background:var(--panel);font-size:13px}.fact small{display:block;color:#849ba5;font-size:10.5px;margin-bottom:4px}.list{padding-left:1.1em}.list li{margin:.42em 0}.two{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:28px}.toc{position:sticky;top:92px}.toc a{display:block;padding:6px 0;color:var(--muted);font-size:12.5px}.toc a:hover{color:var(--accent2)}
.project-index-note{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#0a1d29;margin-bottom:22px;font-size:12.5px}.project-index-note strong{color:var(--accent2);white-space:nowrap}.project-index-note span{color:var(--muted)}
.faq-list{display:grid;gap:8px;max-width:900px}.faq-list details{border:1px solid var(--line);background:var(--panel);border-radius:9px;padding:13px 15px}.faq-list summary{cursor:pointer;font-weight:800;font-size:13.5px}.faq-list p{color:var(--muted);font-size:13.5px;margin-bottom:0}
.cta{background:linear-gradient(135deg,#0f2937,#0a1e29);border:1px solid #345160;border-radius:14px;padding:30px}.cta h2{font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.18;margin:8px 0}.cta p{color:var(--muted);font-size:14px;max-width:760px;margin:0}
.lead-form{border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,var(--panel),#091b24);padding:23px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.lead-form label{display:block;font-weight:750;font-size:12.5px;margin-bottom:13px}.lead-form label span{color:var(--accent2)}.lead-form input,.lead-form select,.lead-form textarea{width:100%;margin-top:6px;padding:11px 12px;border:1px solid #385260;border-radius:7px;background:#06151d;color:var(--text);outline:none;font-size:13.5px}.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{border-color:var(--accent2);box-shadow:0 0 0 3px rgba(225,180,102,.1)}.lead-form textarea{resize:vertical;min-height:150px}.lead-form option{background:#06151d}.form-note{font-size:11px;color:#869ba4;margin-bottom:0}.form-side-card{margin-top:14px}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-alert{padding:12px 14px;border-radius:8px;margin-bottom:15px;border:1px solid var(--line);font-size:13px}.form-alert.success{background:#0d2c23;border-color:#245c48}.form-alert.error{background:#321819;border-color:#743638}.full{width:100%;margin-top:14px}.divider{height:1px;background:var(--line);margin:20px 0}.article-meta{color:var(--muted);font-size:12px}.notice{background:#2b210f;border:1px solid #6f5521;color:#f7dfaa;padding:12px;border-radius:8px;font-size:12.5px}
.footer{border-top:1px solid var(--line);padding:42px 0 20px;background:#041018}.footergrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px}.footer strong{font-size:12px}.footer p,.footer li{color:#879ca5;font-size:12px}.footer ul{list-style:none;padding:0;margin:10px 0 0}.footer li{margin:7px 0}.footer a:hover{color:var(--accent2)}.footer-note{padding-top:18px;border-top:1px solid rgba(255,255,255,.06);margin-top:30px;color:#657d87;font-size:10.5px}
@media(max-width:980px){.hero-layout{grid-template-columns:1fr}.radar-banner{min-height:290px}.radar-banner svg{min-height:290px}.feature-grid{grid-template-columns:1fr 1fr}.process-list{grid-template-columns:repeat(3,1fr)}.footergrid,.two{grid-template-columns:1fr 1fr}.facts{grid-template-columns:1fr 1fr}.industry-grid{grid-template-columns:repeat(2,1fr)}.industry:nth-child(4n){border-right:1px solid var(--line)}.industry:nth-child(2n){border-right:0}.industry:nth-last-child(-n+4){border-bottom:1px solid var(--line)}.industry:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:820px){.site-nav{min-height:62px;position:relative}.nav-toggle{display:flex;position:relative}.navlinks{display:none;position:absolute;left:0;right:0;top:62px;background:#07151d;border:1px solid var(--line);border-radius:0 0 10px 10px;padding:8px 18px 16px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0}.navlinks.open{display:flex}.navlinks a{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.055)}.navlinks a:after{display:none}.nav-cta{margin-left:0}.grid{grid-template-columns:1fr 1fr}.hero{padding-top:56px}.metrics{grid-template-columns:1fr 1fr}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.metric:first-child{padding-left:20px}}
@media(max-width:580px){body{font-size:14px}.wrap{width:min(var(--max),calc(100% - 28px))}.topbar .wrap{min-height:38px}.topbar .wrap span:first-child{display:none}.nav-cta{display:none}.hero{padding:46px 0 32px}.hero-layout{gap:28px}.hero h1{font-size:2.25rem}.hero p{font-size:14.5px}.radar-banner{min-height:240px}.radar-banner svg{min-height:240px}.metrics,.grid,.feature-grid,.facts,.form-grid,.footergrid,.industry-grid{grid-template-columns:1fr}.metric{border-right:0!important;border-bottom:1px solid var(--line)!important;padding-left:0!important}.metric:last-child{border-bottom:0!important}.industry{border-right:0!important;border-bottom:1px solid var(--line)!important}.industry:last-child{border-bottom:0!important}.process-list{grid-template-columns:1fr}.pagehero{padding:44px 0 26px}.pagehero h1{font-size:2rem}.sectionhead h2{font-size:1.72rem}section{padding:50px 0}.card{padding:19px}.project-card{min-height:auto}.project-index-note{display:block}.project-index-note strong{display:block;margin-bottom:5px}.cta{padding:24px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* v4.1 vector identity + service icon system */
.brand-logo{display:inline-flex;align-items:center;flex:0 0 auto}.brand-logo img{display:block;width:176px;height:auto;max-width:none}.footer .brand-logo img{width:165px}.service-icon,.tech-icon,.pagehero-icon{display:inline-grid;place-items:center;width:58px;height:58px;border:1px solid #2c4957;border-radius:12px;background:linear-gradient(145deg,rgba(214,160,76,.08),rgba(255,255,255,.015));margin-bottom:16px}.service-icon img,.tech-icon img,.pagehero-icon img{display:block;width:46px;height:46px}.services-grid .card{padding-top:22px}.services-grid .service-no{position:static;display:block;margin-bottom:12px}.icon-card{position:relative}.tech-icon{width:56px;height:56px}.tech-icon img{width:44px;height:44px}.pagehero-icon{width:62px;height:62px;margin:0 0 14px}.pagehero-icon img{width:48px;height:48px}.card .service-icon + .kicker,.card .tech-icon + .kicker{display:block}.logo-note{font-size:10px;color:#6d848f;letter-spacing:.06em;text-transform:uppercase;margin-top:8px}
@media(max-width:820px){.brand-logo img{width:156px}}
@media(max-width:580px){.brand-logo img{width:145px}.service-icon,.tech-icon{width:54px;height:54px}.service-icon img,.tech-icon img{width:42px;height:42px}.pagehero-icon{width:58px;height:58px}.pagehero-icon img{width:44px;height:44px}}


/* ===== GPRKSA v6 production enhancements ===== */
:root{--hero-min:660px}
.nav-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.lang-switch{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:7px;color:#d7e4e8;font-size:12px;font-weight:800}.lang-switch:hover{border-color:var(--accent2);color:var(--accent2)}
.hero-v6{position:relative;min-height:var(--hero-min);overflow:hidden;padding:0;border-bottom:1px solid var(--line);isolation:isolate;background:#06131a}.hero-v6>.wrap{position:relative;z-index:3;min-height:var(--hero-min);display:flex;align-items:center}.hero-v6 .hero-copy{max-width:760px;padding:78px 0 92px}.hero-v6 h1{font-size:clamp(2.45rem,5.15vw,4.4rem);line-height:1.02;letter-spacing:-.048em;max-width:760px;margin:14px 0 20px;text-wrap:balance}.hero-v6 p{max-width:680px;font-size:16px;line-height:1.72;color:#c0ced3}.hero-v6:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(4,14,20,.93) 0%,rgba(4,14,20,.78) 38%,rgba(4,14,20,.26) 73%,rgba(4,14,20,.12) 100%),linear-gradient(180deg,rgba(6,19,26,.05),rgba(6,19,26,.56))}.hero-radar-bg{position:absolute;inset:-35px -65px;z-index:1;opacity:.96;pointer-events:none}.hero-radar-bg svg{width:100%;height:100%;display:block}.hero-wave{fill:none;stroke:#75afc2;stroke-width:2;opacity:.52;stroke-linecap:round;animation:waveFloat 8s ease-in-out infinite,waveDash 13s linear infinite;stroke-dasharray:1200 60}.hero-wave.gold{stroke:#e4ad4d;stroke-width:3.2;opacity:.88;filter:drop-shadow(0 0 10px rgba(225,180,102,.28))}.hero-wave.faint{opacity:.24}.w2{animation-delay:-2.2s}.w3{animation-delay:-4.2s}.w4{animation-delay:-1.2s}.w5{animation-delay:-6s}.scan-fan path{fill:none;stroke:#d7a64f;stroke-width:1.5;opacity:.24;animation:scanPulse 4.6s ease-in-out infinite}.gpr-cart{fill:#122d39;stroke:#e1b466;stroke-width:2.4;animation:cartFloat 5.6s ease-in-out infinite;filter:drop-shadow(0 0 12px rgba(225,180,102,.13))}.gpr-cart path,.gpr-cart circle{fill:#0b1f29;stroke:#e1b466;stroke-width:2.4}.detect-node{filter:drop-shadow(0 0 12px rgba(225,180,102,.45))}.detect-dot{fill:#e1b466}.pulse-ring{fill:none;stroke:#e1b466;stroke-width:2;opacity:0;animation:pulseRing 3s ease-out infinite;transform-box:fill-box;transform-origin:center}.p2{animation-delay:1s}.p3{animation-delay:2s}.node2 .pulse-ring{animation-duration:3.6s}.detect-arcs path{fill:none;stroke:#f0c879;stroke-width:3;stroke-linecap:round;opacity:.7;animation:soundPulse 2.1s ease-in-out infinite}.hero-svg-label{fill:#7ca4b5;font:700 12px/1 sans-serif;letter-spacing:.15em}.hero-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.hero-badge{display:inline-flex;gap:7px;align-items:center;border:1px solid rgba(125,171,190,.28);background:rgba(7,25,34,.6);backdrop-filter:blur(5px);border-radius:999px;padding:8px 11px;color:#c6d4d9;font-size:11.5px;font-weight:700}.hero-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent2);box-shadow:0 0 0 4px rgba(225,180,102,.1)}
@keyframes waveFloat{0%,100%{transform:translate3d(-14px,0,0) scaleY(1)}50%{transform:translate3d(16px,-12px,0) scaleY(1.07)}}@keyframes waveDash{to{stroke-dashoffset:-600}}@keyframes scanPulse{0%,100%{opacity:.14}50%{opacity:.42}}@keyframes cartFloat{0%,100%{transform:translate(1220px,92px)}50%{transform:translate(1240px,82px)}}@keyframes pulseRing{0%{opacity:.78;transform:scale(.35)}85%,100%{opacity:0;transform:scale(3.9)}}@keyframes soundPulse{0%,100%{opacity:.26}50%{opacity:.92}}
.reviews-section{overflow:hidden}.review-shell{position:relative;padding:0 50px}.review-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 2px 18px}.review-track::-webkit-scrollbar{display:none}.review-card{flex:0 0 calc(33.333% - 10px);scroll-snap-align:start;min-height:224px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(160deg,#0c222d,#081922);padding:26px;box-shadow:0 16px 38px rgba(0,0,0,.16)}.review-card h3{font-size:16px;margin:4px 0 12px}.review-card p{color:var(--muted);font-size:13.5px;line-height:1.7}.review-mark{display:block;font:700 42px/1 Georgia,serif;color:var(--accent2);height:32px}.review-source{display:block;margin-top:18px;color:#7894a0;font-size:10.5px;text-transform:uppercase;letter-spacing:.09em}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:38px;height:38px;border-radius:50%;border:1px solid #37515e;background:#0b202a;color:#e7eef0;font-size:26px;line-height:1;cursor:pointer}.carousel-btn:hover{border-color:var(--accent2);color:var(--accent2)}.carousel-btn.prev{left:0}.carousel-btn.next{right:0}.carousel-dots{display:flex;justify-content:center;gap:6px;margin-top:4px}.carousel-dot{width:7px;height:7px;border:0;border-radius:50%;background:#39535f;padding:0;cursor:pointer}.carousel-dot.active{background:var(--accent2);transform:scale(1.25)}
.consent-banner{position:fixed;z-index:9999;left:20px;right:20px;bottom:18px;max-width:1040px;margin:auto;border:1px solid #395763;background:rgba(5,19,26,.98);box-shadow:0 24px 80px rgba(0,0,0,.5);border-radius:12px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.consent-banner[hidden]{display:none}.consent-banner strong{font-size:14px}.consent-banner p{margin:4px 0 0;color:#9eb1b8;font-size:12px;max-width:720px}.consent-banner a{color:var(--accent2);text-decoration:underline}.consent-actions{display:flex;gap:8px;flex:0 0 auto}.btn.small{padding:9px 12px;font-size:11.5px}.privacy-settings{border:0;background:none;color:#7e959f;font:inherit;font-size:10.5px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.06);margin-top:30px;padding-top:18px}.footer-bottom .footer-note{padding:0;border:0;margin:0}.footer address{font-style:normal;color:#879ca5;font-size:12px;line-height:1.8;margin-top:10px}.address-card address{font-style:normal;color:#c3ced2;line-height:1.8}.address-line{display:flex;gap:11px;align-items:flex-start}.address-pin{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1px solid #35505d;color:var(--accent2);flex:0 0 auto}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.blog-card{display:flex;flex-direction:column;min-height:275px}.blog-card .article-meta{margin-top:auto;padding-top:18px}.blog-card h3{font-size:17px;line-height:1.3}.blog-card p{font-size:13.2px;color:var(--muted)}.article-prose{max-width:820px}.article-prose .lead{font-size:16px;color:#ced8dc}.article-prose h2{margin-top:38px}.article-prose .key-takeaway{border-left:3px solid var(--accent2);background:#0c202a;padding:16px 18px;border-radius:0 8px 8px 0;color:#c6d2d6}.related-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.related-links a{display:block;border:1px solid var(--line);border-radius:8px;padding:14px;background:#091c25;font-size:12.5px;font-weight:800}.related-links a:hover{border-color:var(--accent2)}
.policy-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0 32px}.policy-nav a{padding:10px 11px;border:1px solid var(--line);border-radius:7px;font-size:11.5px;color:#aebfc5}.policy-table{width:100%;border-collapse:collapse;margin:16px 0 28px;font-size:12.5px}.policy-table th,.policy-table td{border:1px solid var(--line);padding:10px;vertical-align:top;text-align:left}.policy-table th{background:#0d222c;color:#e3eaed}.policy-table td{color:#b8c7cc}.policy-callout{border:1px solid #6b542a;background:#241d10;border-radius:9px;padding:14px 16px;color:#f0dcae;font-size:12.5px}.legal-links a{color:var(--accent2);text-decoration:underline}.checkbox-row{display:flex!important;align-items:flex-start;gap:9px;font-weight:500!important;color:#acbdc3}.checkbox-row input{width:auto!important;margin:3px 0 0!important;flex:0 0 auto}.checkbox-row a{color:var(--accent2);text-decoration:underline}

.rtl{font-family:'Cairo',Arial,sans-serif;text-align:right}.rtl .site-nav,.rtl .navlinks,.rtl .nav-actions,.rtl .actions,.rtl .hero-badges,.rtl .footer-bottom{direction:rtl}.rtl .nav-actions{margin-left:0;margin-right:auto}.rtl .sectionhead,.rtl .content,.rtl .card,.rtl .pagehero,.rtl .lead-form{text-align:right}.rtl .list{padding-left:0;padding-right:1.1em}.rtl .article-prose .key-takeaway{border-left:0;border-right:3px solid var(--accent2);border-radius:8px 0 0 8px}.rtl .policy-table th,.rtl .policy-table td{text-align:right}.rtl .carousel-btn.prev{left:auto;right:0}.rtl .carousel-btn.next{right:auto;left:0}.rtl .review-track{direction:rtl}.rtl .hero-v6:after{background:linear-gradient(270deg,rgba(4,14,20,.93) 0%,rgba(4,14,20,.78) 38%,rgba(4,14,20,.26) 73%,rgba(4,14,20,.12) 100%),linear-gradient(180deg,rgba(6,19,26,.05),rgba(6,19,26,.56))}.rtl .hero-v6 .hero-copy{margin-right:0;margin-left:auto}.rtl .hero-v6 h1{letter-spacing:-.02em}.rtl .breadcrumbs{direction:rtl}.rtl .text-link{display:inline-flex;direction:rtl}.rtl .form-grid{direction:rtl}
@media(max-width:1100px){.review-card{flex-basis:calc(50% - 7px)}.blog-grid{grid-template-columns:1fr 1fr}.policy-nav{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.nav-actions{margin-left:auto}.nav-actions .lang-switch{font-size:11px;padding:6px 8px}.hero-v6,.hero-v6>.wrap{min-height:590px}.hero-v6 .hero-copy{padding:62px 0 72px;max-width:630px}.hero-v6:after{background:linear-gradient(90deg,rgba(4,14,20,.94),rgba(4,14,20,.62))}.rtl .hero-v6:after{background:linear-gradient(270deg,rgba(4,14,20,.94),rgba(4,14,20,.62))}.review-shell{padding:0 42px}.review-card{flex-basis:84%}.related-links{grid-template-columns:1fr 1fr}.blog-grid{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.nav-actions{gap:5px}.nav-actions .nav-cta{display:none}.hero-v6,.hero-v6>.wrap{min-height:570px}.hero-v6 .hero-copy{padding:52px 0 64px}.hero-v6 h1{font-size:2.38rem}.hero-radar-bg{inset:-10px -200px -10px -310px;opacity:.8}.rtl .hero-radar-bg{inset:-10px -310px -10px -200px}.hero-badge{font-size:10.5px}.review-shell{padding:0 35px}.review-card{flex-basis:100%;min-height:245px;padding:22px}.carousel-btn{width:32px;height:32px}.blog-grid,.policy-nav,.related-links{grid-template-columns:1fr}.consent-banner{left:10px;right:10px;bottom:10px;display:block}.consent-actions{margin-top:12px;display:grid;grid-template-columns:1fr 1fr}.footer-bottom{display:block}.privacy-settings{margin-top:8px}.rtl .nav-actions{margin-right:auto;margin-left:0}}
@media(prefers-reduced-motion:reduce){.hero-wave,.scan-fan path,.gpr-cart,.pulse-ring,.detect-arcs path{animation:none!important}.review-track{scroll-behavior:auto}}


/* GPR KSA project evidence media, version 6.2 */
.visual-case { overflow:hidden; padding:0!important; display:flex; flex-direction:column; min-width:0; }
.visual-case .project-card-media { height:172px; overflow:hidden; background:#0b222d; display:block; }
.visual-case .project-card-media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .24s ease; }
.visual-case:hover .project-card-media img { transform:scale(1.025); }
.case-card-inner { padding:1.25rem 1.25rem 1.35rem; display:flex; flex:1; flex-direction:column; }
.case-card-inner h3 { line-height:1.4; font-size:1.08rem; margin:.6rem 0; overflow-wrap:anywhere; }
.case-card-inner p { margin:0 0 1.1rem; font-size:.93rem; line-height:1.65; }
.case-card-inner .case-link { margin-top:auto; color:var(--accent2); font-weight:700; font-size:.88rem; }
.case-feature-section { padding-top:3.4rem; padding-bottom:3.4rem; }
.case-feature-section .btn-quiet { display:inline-flex; margin-top:1.5rem; }
.case-figure { margin:0; border:1px solid rgba(118,158,167,.25); background:#0a1e27; border-radius:14px; overflow:hidden; }
.case-figure img { display:block; width:100%; height:auto; max-height:400px; object-fit:cover; }
.case-figure figcaption { padding:10px 14px; font-size:.77rem; color:#b6c9d0; line-height:1.55; }
.case-figure-inline { max-width:760px; margin:1rem auto 2rem; }
@media(max-width:767px) { .case-feature-section { padding:2rem 0; } .visual-case .project-card-media { height:178px; } .case-card-inner { padding:1rem; } .case-figure img { max-height:270px; } .featured-case-grid { grid-template-columns:1fr!important; } }
@media(prefers-reduced-motion:reduce) { .visual-case .project-card-media img { transition:none; } }


/* GPR KSA v7 — cohesive responsive design system */
html{scroll-padding-top:78px}
body{overflow-wrap:normal;min-width:0}
.wrap,.grid,.two,.card,.case-card-inner,.review-card,.content,.form-grid{min-width:0}
img{height:auto}
.main, main {min-width:0}
.content p,.content li,.article-prose p,.article-prose li {overflow-wrap:break-word}
.pagehero h1,.sectionhead h2,.hero-v6 h1 {text-wrap:balance}
.rtl .pagehero h1,.rtl .sectionhead h2,.rtl .hero-v6 h1{letter-spacing:0;text-wrap:pretty}
.visual-case{overflow:hidden;display:flex;flex-direction:column;height:100%}
.visual-case .project-card-media{height:170px;overflow:hidden}
.visual-case .project-card-media img{display:block;width:100%;height:100%;object-fit:cover}
.case-card-inner{display:flex;flex-direction:column;flex:1;gap:0;padding:19px 19px 21px}
.case-card-inner h3{font-size:16.5px;line-height:1.42;margin:8px 0}
.case-card-inner p{font-size:13.5px;line-height:1.62;margin:0 0 13px;overflow-wrap:break-word}
.case-card-inner .case-link{margin-top:auto;font-size:13px}
.rtl .case-card-inner,.rtl .case-card-inner p{text-align:right}
.rtl .case-card-inner [dir="ltr"]{direction:ltr;text-align:right}
.nav-toggle,.lang-switch,.carousel-btn{min-width:44px;min-height:44px}
.faq-list summary{min-height:44px}
.lead-form input,.lead-form select,.lead-form textarea{min-height:44px}

@media (max-width:900px){
 .two{grid-template-columns:minmax(0,1fr)!important;gap:16px}
 .two>*,.content,.article-prose{min-width:0;max-width:100%}
 .toc{position:static}
 .case-figure-inline{width:100%;max-width:740px;margin:12px auto 22px}
 .case-figure img{width:100%;max-height:340px;object-fit:cover}
 .pagehero h1{overflow-wrap:break-word}
 .site-nav{gap:12px}
 .navlinks{top:100%;max-height:calc(100dvh - 74px);overflow-y:auto;z-index:90;box-shadow:0 22px 35px rgba(0,0,0,.36)}
 .navlinks a{min-height:44px;display:flex;align-items:center}
 .hero-v6,.hero-v6>.wrap{height:auto;min-height:0}
 .hero-v6 .hero-copy{padding:56px 0 60px;max-width:630px}
 .hero-v6 h1{font-size:clamp(2rem,5.5vw,3.3rem);line-height:1.14}
 .related-links{grid-template-columns:repeat(2,minmax(0,1fr))}
 .review-card{min-height:0}
}
@media (max-width:600px){
 html,body{max-width:100%;overflow-x:clip}
 body{font-size:15px;line-height:1.62}
 .topbar{display:none}
 .wrap{width:calc(100% - 36px);max-width:100%}
 .site-nav{min-height:64px;gap:10px}
 .brand-logo img{width:137px;max-width:100%;height:auto}
 .nav-actions{margin-left:auto;gap:7px}
 .nav-actions .lang-switch{min-height:44px;padding:8px 10px;white-space:nowrap;font-size:12px}
 .nav-toggle{flex:0 0 44px;width:44px;height:44px;margin-left:0}
 .nav-cta{display:none!important}
 .rtl .nav-actions{margin-right:auto;margin-left:0}
 .navlinks{padding:12px 18px}
 section{padding:36px 0}
 .sectionhead{margin:0 0 19px}
 .sectionhead h2{font-size:clamp(1.55rem,6.1vw,1.86rem);line-height:1.24;margin:7px 0 10px}
 .sectionhead p{font-size:14px;line-height:1.62}
 .grid,.blog-grid,.related-links,.two,.form-grid,.policy-nav{grid-template-columns:minmax(0,1fr)!important;gap:12px}
 .pagehero{padding:31px 0 27px}
 .pagehero h1{font-size:clamp(1.8rem,7.2vw,2.18rem);line-height:1.19;margin:10px 0 13px;max-width:100%}
 .pagehero p{font-size:14.5px;line-height:1.65;max-width:100%}
 .breadcrumbs{font-size:11px;line-height:1.7;overflow-wrap:anywhere}
 .rtl .pagehero h1{font-size:clamp(1.65rem,6.6vw,2.05rem);line-height:1.54}
 .rtl .pagehero p{line-height:1.92}
 .kicker{line-height:1.5}
 .hero-v6,.hero-v6>.wrap{min-height:0;height:auto}
 .hero-v6 .hero-copy{padding:35px 0 43px}
 .hero-v6 h1{font-size:clamp(1.9rem,7.6vw,2.28rem);line-height:1.15;letter-spacing:-.028em;margin:13px 0 15px}
 .hero-v6 p{font-size:14.5px;line-height:1.64}
 .rtl .hero-v6 h1{font-size:clamp(1.75rem,7vw,2.12rem);line-height:1.57;letter-spacing:0}
 .rtl .hero-v6 p{line-height:1.95}
 .hero-v6 .eyebrow{font-size:10px;line-height:1.5;letter-spacing:.08em}
 .hero-v6 .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:20px}
 .hero-v6 .actions .btn{width:100%;min-width:0;min-height:46px;font-size:12.5px;padding:10px 7px;line-height:1.35;text-align:center}
 .hero-badges{gap:7px;margin-top:18px}
 .hero-badge{font-size:10px;line-height:1.35;padding:5px 8px}
 .hero-radar-bg{opacity:.52}
 .hero-v6:after{background:linear-gradient(90deg,rgba(4,14,20,.93),rgba(4,14,20,.79))}
 .rtl .hero-v6:after{background:linear-gradient(270deg,rgba(4,14,20,.93),rgba(4,14,20,.79))}
 .card{padding:17px;border-radius:12px}
 .card h3{font-size:16px;line-height:1.4}
 .card p{font-size:13.5px;line-height:1.6}
 .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .feature{padding-top:13px}
 .feature p{font-size:12.5px;line-height:1.53}
 .facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:20px 0}
 .fact{padding:12px;min-height:80px;line-height:1.45;overflow-wrap:anywhere}
 .fact small{line-height:1.45}
 .content{width:100%;max-width:100%}
 .content h2{font-size:clamp(1.27rem,5vw,1.6rem);line-height:1.35;margin:27px 0 12px}
 .content h3{font-size:17px;line-height:1.4}
 .content p,.content li{font-size:14.5px;line-height:1.75;max-width:100%}
 .rtl .content p,.rtl .content li{line-height:1.98}
 .toc{position:static}
 .visual-case .project-card-media{height:148px}
 .case-card-inner{padding:15px 16px 17px}
 .case-card-inner h3{font-size:16px;line-height:1.38;margin:7px 0}
 .case-card-inner p{font-size:13.2px;line-height:1.56;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 .case-card-inner .case-link{font-size:13px;line-height:1.4}
 .case-figure{max-width:100%;margin:0 auto;border-radius:12px}
 .case-figure img{max-height:240px;width:100%;height:auto;object-fit:cover}
 .case-figure figcaption{padding:9px 12px;font-size:11.5px;line-height:1.65}
 .case-figure-inline{margin:10px auto 23px}
 .case-feature-section{padding:30px 0}
 .featured-case-grid{grid-template-columns:minmax(0,1fr)!important}
 .industry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .industry{padding:13px;min-height:77px}
 .industry strong{font-size:12px}
 .process-list{grid-template-columns:1fr;gap:8px}
 .process-list li{padding:13px 16px}
 .cta{padding:22px 19px}
 .cta h2{font-size:1.45rem;line-height:1.25}
 .cta .actions{display:flex;flex-direction:column;align-items:stretch;gap:8px}
 .cta .actions .btn{min-height:44px;text-align:center}
 .review-shell{padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
 .review-track{grid-column:1/-1;grid-row:1;gap:10px;padding:5px 2px 12px}
 .review-card{flex:0 0 calc(100% - 4px);padding:20px;min-height:0}
 .carousel-btn{position:relative;transform:none;top:auto;left:auto!important;right:auto!important;grid-row:2;margin:0;width:44px;height:44px}
 .carousel-btn.prev{grid-column:1;justify-self:end}.carousel-btn.next{grid-column:2;justify-self:start}
 .carousel-dots{grid-column:1/-1;grid-row:3;margin-top:1px;gap:12px}
 .carousel-dot{width:10px;height:10px}
 .lead-form{padding:16px}
 .lead-form input,.lead-form select,.lead-form textarea{font-size:16px;min-height:44px;width:100%;max-width:100%}
 .consent-banner{position:relative;inset:auto;left:auto;right:auto;bottom:auto;width:calc(100% - 36px);max-width:500px;margin:16px auto;padding:15px;display:block;box-shadow:0 8px 30px rgba(0,0,0,.18)}
 .consent-banner strong{font-size:14px}
 .consent-banner p{font-size:12.5px;line-height:1.57}
 .consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
 .consent-actions .btn{min-height:45px;font-size:12px;padding:8px 7px}
 .footer{padding-top:32px}
 .footergrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
 .footergrid>div:first-child,.footergrid>div:last-child{grid-column:1/-1}
 .footer-bottom{display:block}
 .policy-table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media (max-width:360px){
 .wrap{width:calc(100% - 30px)}
 .brand-logo img{width:116px}
 .nav-actions .lang-switch{padding-inline:7px;font-size:11px}
 .site-nav{gap:6px}
 .hero-v6 h1{font-size:1.85rem}
 .hero-v6 .actions{grid-template-columns:1fr 1fr}
 .hero-badge{font-size:9.5px}
 .feature-grid{grid-template-columns:minmax(0,1fr)}
 .facts{grid-template-columns:minmax(0,1fr)}
 .industry-grid{grid-template-columns:minmax(0,1fr)}
 .footergrid{grid-template-columns:1fr}
 .case-card-inner p{-webkit-line-clamp:3}
}
@media (prefers-reduced-motion:reduce){.hero-wave,.scan-fan path,.gpr-cart,.pulse-ring,.detect-arcs path{animation:none!important}.visual-case .project-card-media img{transition:none}}

/* Safe hidden form honeypot for RTL; no negative viewport coordinates */
.hp-field,.honeypot{position:absolute!important;left:0!important;right:auto!important;top:0!important;width:1px!important;height:1px!important;max-width:1px!important;overflow:hidden!important;white-space:nowrap!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;opacity:0!important;pointer-events:none!important}
.hp-field *,.honeypot *{position:static!important;display:block!important;width:1px!important;height:1px!important;max-width:1px!important;min-width:0!important;padding:0!important;margin:0!important;overflow:hidden!important;visibility:hidden!important}

/* v7.1 project imagery attribution */
.project-card-media{position:relative;overflow:hidden}
.project-card-media .field-photo-label{position:absolute;bottom:12px;left:12px;z-index:2;border:1px solid rgba(255,255,255,.23);border-radius:7px;background:rgba(4,19,28,.88);color:#e6f0f5;font-size:11px;font-weight:700;letter-spacing:.025em;padding:6px 9px;line-height:1.2;pointer-events:none}
.rtl .project-card-media .field-photo-label{left:auto;right:12px;font-family:Cairo,system-ui,sans-serif}
.project-card-media .scheme-label{background:rgba(9,22,35,.9)}
.project-card-media img{width:100%;height:100%;object-fit:cover}

/* v7.2: true single-column responsive content; eliminate side gutters caused by two-column cards. */
html{max-width:100%;overflow-x:clip}
body{width:100%;max-width:100%;min-width:0;overflow-x:clip}
body>*{min-width:0;max-width:100%}
main{display:block;min-width:0;max-width:100%}
.wrap{min-width:0;max-width:calc(100% - 24px)}
.two,.grid,.feature-grid,.blog-grid,.related-links,.featured-case-grid{min-width:0}
.two>*,.grid>*,.feature-grid>*,.blog-grid>*,.related-links>*,.featured-case-grid>*{min-width:0;max-width:100%}
.content,.article-prose,.project-side{min-width:0;overflow-wrap:break-word}
.content img,.content iframe,.content video,.content svg{max-width:100%;height:auto}
table{max-width:100%}
.review-track{max-width:100%;overscroll-behavior-inline:contain}
.project-card-media img{display:block;max-width:100%;width:100%;object-fit:cover}
.field-photo-label{font-size:10px!important;padding:5px 8px!important;font-weight:650!important;opacity:.88}
.case-figure figcaption{font-size:11px;color:#8fa7b2;padding:7px 12px;line-height:1.55}
@media(max-width:1199px){
 .two{grid-template-columns:minmax(0,1fr)!important;gap:20px!important}
 .two>.content,.two>.article-prose{width:100%;max-width:100%}
 .two>aside{width:100%;max-width:100%;min-width:0;position:static}
 .facts,.grid,.featured-case-grid,.form-grid{min-width:0}
 .toc{position:static}
}
@media(max-width:820px){
 .wrap{width:calc(100% - 36px);max-width:calc(100% - 36px);margin-inline:auto}
 .two{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:16px!important}
 .two>*{width:100%;max-width:100%}
 .pagehero h1,.hero-v6 h1,.sectionhead h2{max-width:100%;overflow-wrap:break-word}
 .pagehero,.hero-v6,.site-header,.footer{max-width:100%;overflow:clip}
}
@media(max-width:390px){
 .wrap{width:calc(100% - 28px);max-width:calc(100% - 28px)}
 .card,.project-side{max-width:100%}
 .lead-form{padding:16px}
 .hero-v6 .actions{grid-template-columns:minmax(0,1fr);gap:10px}
}
