/* =========================================================
   GeoProcess Consulting — Modern Earth-Tech Visual System
   Global visual override. Content and layout are preserved.
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Mono:wght@400;700&display=swap');

:root{
  --gp-bg:#06131b;
  --gp-bg-deep:#041018;
  --gp-surface:#0a1d26;
  --gp-surface-2:#0d2630;
  --gp-surface-3:#102f39;
  --gp-text:#ecf8f4;
  --gp-muted:#9bb4b4;
  --gp-line:rgba(129,210,190,.16);
  --gp-line-strong:rgba(129,210,190,.30);
  --gp-blue:#22a9d6;
  --gp-blue-bright:#55d5ff;
  --gp-green:#19b77a;
  --gp-green-bright:#43e49a;
  --gp-lime:#8de67a;
  --gp-white:#f4fbf8;
  --gp-shadow:0 28px 90px rgba(0,0,0,.34);
  --gp-ease:cubic-bezier(.16,1,.3,1);
}

html{background:var(--gp-bg-deep)!important;color-scheme:dark}
body{
  margin:0!important;
  background:
    radial-gradient(circle at 15% -10%,rgba(25,183,122,.13),transparent 30%),
    radial-gradient(circle at 85% 0%,rgba(34,169,214,.12),transparent 32%),
    linear-gradient(180deg,#06131b 0%,#071923 48%,#041018 100%)!important;
  color:var(--gp-text)!important;
  font-family:"Manrope",system-ui,sans-serif!important;
  line-height:1.7!important;
}

body::before{
  background-image:
    linear-gradient(rgba(67,228,154,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(34,169,214,.035) 1px,transparent 1px)!important;
  background-size:64px 64px!important;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 78%)!important;
}

body::after{opacity:.018!important}

.container{width:min(1260px,calc(100% - 48px))!important}

/* Type system */
h1,h2,h3,h4,h5,h6,.section-title,.hero h1,.page-hero h1{
  font-family:"Manrope",system-ui,sans-serif!important;
  font-weight:800!important;
  letter-spacing:-.055em!important;
  line-height:1.04!important;
  color:var(--gp-white)!important;
}
h1{font-size:clamp(3rem,6vw,6.4rem)!important}
h2,.section-title{font-size:clamp(2.2rem,4vw,4rem)!important}
h3{font-size:clamp(1.15rem,1.7vw,1.45rem)!important}
p,.lead,.section-subtitle,.card p,.service-body p,.project-card-fancy p,.vintage-card p{
  font-family:"Manrope",system-ui,sans-serif!important;
  color:var(--gp-muted)!important;
}
p{font-size:clamp(.94rem,1vw,1.04rem)!important}
.eyebrow,.service-number,.archive-no,.cap-no,.step-kicker,.vintage-kicker,.fancy-kicker{
  font-family:"Space Mono",monospace!important;
  color:var(--gp-green-bright)!important;
  font-size:.68rem!important;
  letter-spacing:.16em!important;
}
h1 span,h2 span,.hero h1 span,.page-hero h1 span{color:var(--gp-green-bright)!important}

/* Header */
.site-nav{
  background:rgba(4,16,24,.78)!important;
  border-bottom:1px solid var(--gp-line)!important;
  backdrop-filter:blur(24px) saturate(150%)!important;
  box-shadow:0 12px 45px rgba(0,0,0,.22)!important;
}
.nav-inner{min-height:86px!important}
.brand{gap:13px!important}
.brand-name{font-family:"Manrope",sans-serif!important;font-size:1.05rem!important;font-weight:800!important;letter-spacing:-.03em!important;color:#f5fffb!important}
.brand-sub{font-family:"Space Mono",monospace!important;color:var(--gp-blue-bright)!important;font-size:.57rem!important;letter-spacing:.08em!important}
.brand-mark,.footer-mark{filter:drop-shadow(0 0 14px rgba(67,228,154,.18))!important}
.brand-mark .pulse,.footer-mark .pulse{fill:var(--gp-green-bright)!important}
.nav-list{gap:.28rem!important}
.nav-list a{
  font-family:"Manrope",sans-serif!important;
  font-size:.73rem!important;
  font-weight:700!important;
  letter-spacing:.055em!important;
  color:#a9c0c1!important;
  border-radius:11px!important;
}
.nav-list a:hover,.nav-list a.active{color:#f4fffb!important;background:rgba(67,228,154,.055)!important}
.nav-list a:not(.nav-cta)::after{background:linear-gradient(90deg,var(--gp-green),var(--gp-blue))!important;box-shadow:0 0 14px rgba(67,228,154,.45)!important}
.nav-cta,.btn-primary,.booking-submit{
  background:linear-gradient(135deg,var(--gp-green),var(--gp-blue))!important;
  color:#031218!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 12px 32px rgba(25,183,122,.18)!important;
}
.nav-cta:hover,.btn-primary:hover,.booking-submit:hover:not(:disabled){
  background:linear-gradient(135deg,var(--gp-green-bright),var(--gp-blue-bright))!important;
  box-shadow:0 16px 42px rgba(34,169,214,.22)!important;
}
.nav-toggle{border-color:var(--gp-line-strong)!important;background:rgba(255,255,255,.035)!important}

/* Email dropdown */
.nav-email>button,.site-email-trigger{
  font-family:"Manrope",sans-serif!important;
  color:#b9d0cf!important;
  background:rgba(255,255,255,.035)!important;
  border-color:var(--gp-line-strong)!important;
}
.nav-email>button:hover,.nav-email.open>button{color:#fff!important;background:rgba(67,228,154,.07)!important;border-color:rgba(67,228,154,.38)!important}
.email-menu,.contact-mail-menu{
  background:rgba(5,20,28,.97)!important;
  border-color:var(--gp-line-strong)!important;
  box-shadow:var(--gp-shadow)!important;
}
.email-menu::before{background:linear-gradient(90deg,var(--gp-green),var(--gp-blue))!important}
.email-menu a,.contact-mail-menu a{font-family:"Manrope",sans-serif!important;color:#c1d5d3!important}
.email-menu a:hover,.email-menu a:focus,.contact-mail-menu a:hover,.contact-mail-menu a:focus{background:rgba(34,169,214,.08)!important;color:#fff!important}

/* Hero */
.hero,.page-hero,.about-hero,.services-hero,.projects-hero,.contact-hero,.vintage-hero,.fancy-hero,.study-hero{
  background:
    radial-gradient(circle at 72% 25%,rgba(34,169,214,.12),transparent 28%),
    radial-gradient(circle at 22% 35%,rgba(25,183,122,.12),transparent 30%),
    #05131b!important;
}
.hero::before,.page-hero::before,.about-hero::before,.services-hero::before,.projects-hero::before,.contact-hero::before,.vintage-hero::before,.fancy-hero::before,.study-hero::before{
  background:
    radial-gradient(circle at 20% 30%,rgba(67,228,154,.14),transparent 24%),
    radial-gradient(circle at 82% 30%,rgba(85,213,255,.13),transparent 25%),
    linear-gradient(120deg,transparent 40%,rgba(255,255,255,.018) 50%,transparent 60%)!important;
}
.hero::after,.page-hero::after{background:linear-gradient(90deg,rgba(5,19,27,.98),rgba(5,19,27,.78) 52%,rgba(5,19,27,.38))!important}
.hero-content::after,.page-hero .container::after,.about-hero .container::after,.services-hero .container::after,.projects-hero .container::after,.contact-hero .container::after{
  background:linear-gradient(90deg,transparent,rgba(67,228,154,.5),rgba(85,213,255,.45),transparent)!important;
  box-shadow:0 0 24px rgba(67,228,154,.22)!important;
}

/* Sections */
.section{background:transparent!important}
.section.alt{background:rgba(8,28,36,.54)!important}
.section.dark{background:rgba(3,15,22,.72)!important}
.section::before{background:linear-gradient(90deg,transparent,var(--gp-line-strong),transparent)!important}

/* Cards / panels */
.card,.service-card-new,.project-card-fancy,.vintage-card,.contact-panel,.enquiry-panel,.booking-info,.booking-card,.cap,.outcome,.workflow,.difference,.case-strip,.booking-info-card{
  background:linear-gradient(145deg,rgba(12,38,47,.88),rgba(6,23,31,.94))!important;
  border:1px solid var(--gp-line)!important;
  box-shadow:0 18px 60px rgba(0,0,0,.22)!important;
  color:var(--gp-text)!important;
}
.card:hover,.service-card-new:hover,.project-card-fancy:hover,.vintage-card:hover,.cap:hover,.outcome:hover,.booking-info-card:hover{
  border-color:rgba(67,228,154,.34)!important;
  box-shadow:0 28px 78px rgba(0,0,0,.32),0 0 32px rgba(25,183,122,.06)!important;
}
.card h3,.service-card-new h3,.project-card-fancy h3,.vintage-card h3,.cap h3,.outcome h3{color:#effaf7!important}
.badge,.tag{background:rgba(34,169,214,.08)!important;color:#75dfff!important;border-color:rgba(34,169,214,.18)!important}

/* Buttons */
.btn{font-family:"Manrope",sans-serif!important;font-weight:800!important;border-radius:12px!important}
.btn-ghost{border-color:rgba(129,210,190,.25)!important;background:rgba(255,255,255,.035)!important;color:#eefaf7!important}
.btn-ghost:hover{background:rgba(67,228,154,.07)!important;border-color:rgba(67,228,154,.35)!important}

/* Forms / booking */
.booking-input,.field input,.field select,.field textarea,#booking-form input,#booking-form select,#booking-form textarea{
  font-family:"Manrope",sans-serif!important;
  background:rgba(255,255,255,.035)!important;
  color:#edf9f6!important;
  border-color:rgba(129,210,190,.18)!important;
}
.booking-input:focus,.field input:focus,.field select:focus,.field textarea:focus,#booking-form input:focus,#booking-form select:focus,#booking-form textarea:focus{
  border-color:var(--gp-green)!important;
  box-shadow:0 0 0 4px rgba(25,183,122,.11)!important;
}
.time-slot{font-family:"Manrope",sans-serif!important;background:rgba(255,255,255,.025)!important;border-color:rgba(129,210,190,.17)!important;color:#bdd0cd!important}
.time-slot:hover{border-color:rgba(67,228,154,.4)!important;background:rgba(67,228,154,.07)!important;color:#fff!important}
.time-slot.selected{background:linear-gradient(135deg,var(--gp-green),var(--gp-blue))!important;border-color:transparent!important;color:#031218!important;box-shadow:0 12px 30px rgba(25,183,122,.2)!important}
.step-number,.booking-icon{background:rgba(25,183,122,.08)!important;border-color:rgba(67,228,154,.25)!important;color:var(--gp-green-bright)!important}
.step-kicker{color:var(--gp-blue-bright)!important}
.booking-message.success{color:#8df2bc!important;background:rgba(25,183,122,.06)!important}
.booking-message.error{color:#ffb0b0!important;background:rgba(210,70,80,.06)!important}

/* Links / highlights */
a:hover{color:var(--gp-green-bright)}
.check-list li::before,.service-list-new li:before{color:var(--gp-green-bright)!important}
.service-card-new.featured{border-color:rgba(67,228,154,.38)!important}

/* Visual data graphics */
.orbit,.radar{background:radial-gradient(circle,rgba(25,183,122,.12),transparent 62%)!important;box-shadow:inset 0 0 90px rgba(25,183,122,.06),0 0 70px rgba(34,169,214,.04)!important}
.orbit-dot,.node{background:var(--gp-green-bright)!important;box-shadow:0 0 0 7px rgba(67,228,154,.12),0 0 28px rgba(67,228,154,.48)!important}
.orbit-dot:nth-child(3n),.node:nth-child(3n){background:var(--gp-blue-bright)!important;box-shadow:0 0 0 7px rgba(85,213,255,.12),0 0 28px rgba(85,213,255,.45)!important}
.terrain{background:linear-gradient(135deg,rgba(25,183,122,.15),rgba(34,169,214,.10))!important}
.terrain:after{background:linear-gradient(90deg,var(--gp-green),var(--gp-blue))!important;box-shadow:0 0 20px rgba(67,228,154,.5)!important}

/* Footer */
.site-footer{background:#031018!important;border-top:1px solid var(--gp-line)!important}
.footer-title{font-family:"Space Mono",monospace!important;color:#eaf8f4!important}
.footer-list{font-family:"Manrope",sans-serif!important;color:#91aaa9!important}
.footer-list a:hover{color:var(--gp-green-bright)!important}
.footer-bottom{border-color:var(--gp-line)!important;color:#617b7d!important}

/* Scroll/back-top */
.back-top{background:linear-gradient(135deg,#0b2b35,#083445)!important;border-color:var(--gp-line-strong)!important}

/* Study Hub — keep its content, bring its UI into the same visual language */
.study-page,.study-shell,.study-app,.study-main,.study-content{font-family:"Manrope",system-ui,sans-serif!important}
.study-page input,.study-page select,.study-page button,.study-page textarea{font-family:"Manrope",system-ui,sans-serif!important}
.study-page a,.study-app a{color:inherit}

/* Remove old orange from legacy page-specific rules without touching content */
[style*="#ff6a2b"],[style*="#ff8b5c"],[style*="orange"]{color:var(--gp-green-bright)!important;border-color:var(--gp-green)!important}

/* Responsive typography */
@media(max-width:1050px){
  .nav-inner{min-height:78px!important}
  .nav-list{top:78px!important;background:rgba(4,17,24,.98)!important;border-bottom:1px solid var(--gp-line)!important}
}
@media(max-width:680px){
  .container{width:min(calc(100% - 28px),1260px)!important}
  h1{font-size:clamp(2.55rem,13vw,4rem)!important}
  h2,.section-title{font-size:clamp(2rem,10vw,3rem)!important}
  .brand-name{font-size:1rem!important}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}


/* Light-surface contrast guard */
.section:not(.dark) .card,.section:not(.dark) .service-card,.section:not(.dark) .project-card,.section:not(.dark) .project-card-fancy,.section:not(.dark) .contact-card,.section:not(.dark) .booking-card,.section:not(.dark) .booking-info-card,.section:not(.dark) .time-slot,.section:not(.dark) .faq-item,.section:not(.dark) .form-card,.section:not(.dark) .info-card{color:var(--gp-ink)!important}
.section:not(.dark) .card h1,.section:not(.dark) .card h2,.section:not(.dark) .card h3,.section:not(.dark) .card h4,.section:not(.dark) .card h5,.section:not(.dark) .card h6,.section:not(.dark) .service-card h1,.section:not(.dark) .service-card h2,.section:not(.dark) .service-card h3,.section:not(.dark) .project-card h1,.section:not(.dark) .project-card h2,.section:not(.dark) .project-card h3,.section:not(.dark) .project-card-fancy h1,.section:not(.dark) .project-card-fancy h2,.section:not(.dark) .project-card-fancy h3,.section:not(.dark) .contact-card h1,.section:not(.dark) .contact-card h2,.section:not(.dark) .contact-card h3,.section:not(.dark) .booking-card h1,.section:not(.dark) .booking-card h2,.section:not(.dark) .booking-card h3,.section:not(.dark) .booking-info-card strong,.section:not(.dark) .faq-item summary{color:#09202d!important}
.section:not(.dark) .card p,.section:not(.dark) .service-card p,.section:not(.dark) .project-card p,.section:not(.dark) .project-card-fancy p,.section:not(.dark) .contact-card p,.section:not(.dark) .booking-card p,.section:not(.dark) .booking-info-card span,.section:not(.dark) .faq-item p{color:#47616d!important}
.nav-list .nav-email{display:none!important}

/* =========================================================
   V3 CONTRAST + STUDY HUB POLISH
   ========================================================= */

/* Closing CTA: deliberately dark so its text never disappears. */
.closing{
  background:
    radial-gradient(circle at 18% 20%,rgba(25,183,122,.14),transparent 32%),
    radial-gradient(circle at 82% 75%,rgba(34,169,214,.12),transparent 34%),
    linear-gradient(145deg,#09232b,#071722)!important;
  border:1px solid rgba(67,228,154,.22)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.28)!important;
  color:#eefaf7!important;
}
.closing h2{color:#f4fffb!important}
.closing p{color:#a9c3c0!important}
.closing .eyebrow{color:var(--gp-green-bright)!important}
.closing .btn-ghost{color:#effaf7!important;border-color:rgba(129,210,190,.30)!important}

/* Search field: dark field + bright text in every state, including focus. */
.study-search,
.source-library-search,
#studySearch{
  background:linear-gradient(145deg,#0b2631,#081b25)!important;
  color:#f1fbf8!important;
  border:1px solid rgba(67,228,154,.22)!important;
  caret-color:var(--gp-green-bright)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.study-search::placeholder,
.source-library-search::placeholder,
#studySearch::placeholder{color:#789896!important}
.study-search:focus,
.source-library-search:focus,
#studySearch:focus{
  background:linear-gradient(145deg,#0e2d38,#09212c)!important;
  color:#ffffff!important;
  border-color:var(--gp-green-bright)!important;
  box-shadow:0 0 0 3px rgba(67,228,154,.12),0 0 30px rgba(25,183,122,.08)!important;
  outline:none!important;
}

/* Search result cards: never use white-on-white. */
.advanced-search-results .advanced-search-head,
.advanced-search-results .advanced-search-result,
.advanced-search-results .advanced-search-empty{
  background:linear-gradient(145deg,#0b2530,#081b25)!important;
  color:#eaf8f4!important;
  border-color:rgba(129,210,190,.18)!important;
}
.advanced-search-result-top b,
.advanced-search-result-summary,
.advanced-search-result-snippet,
.advanced-search-head,
.advanced-search-empty strong{color:#eaf8f4!important}
.advanced-search-result-top em{color:#7de9b2!important;background:rgba(25,183,122,.10)!important}
.advanced-search-result:hover{background:linear-gradient(145deg,#10313b,#09232d)!important;border-color:rgba(67,228,154,.42)!important}
.advanced-search-result-snippet{color:#9eb8b6!important}
.advanced-search-result-snippet mark{background:rgba(141,230,122,.28)!important;color:#effff7!important}
.advanced-search-empty span,.advanced-search-head span,.advanced-search-more{color:#8da7a5!important}

/* Study sidebar: turn the old flat column into a compact navigation rail. */
.study-page .study-sidebar{
  position:sticky!important;
  top:133px!important;
  height:calc(100vh - 133px)!important;
  padding:20px 12px 28px!important;
  background:
    linear-gradient(180deg,rgba(9,34,43,.97),rgba(5,19,27,.98))!important;
  border-right:1px solid rgba(129,210,190,.14)!important;
  box-shadow:inset -1px 0 rgba(95,227,255,.025)!important;
}
.study-page .study-sidebar::before{
  content:"STUDY INDEX";
  display:block;
  margin:0 10px 12px;
  color:#70dff4;
  font:700 .62rem/1 "Space Mono",monospace;
  letter-spacing:.16em;
}
.study-page .study-sidebar h3{
  margin:0 10px 15px!important;
  color:#effbf7!important;
  font-family:"Manrope",sans-serif!important;
  font-size:1rem!important;
  letter-spacing:-.02em!important;
}
.study-page .study-sidebar .study-side-link{
  position:relative;
  display:flex!important;
  align-items:flex-start;
  gap:9px;
  width:100%;
  margin:3px 0;
  padding:10px 11px!important;
  border:1px solid transparent!important;
  border-radius:11px!important;
  background:transparent!important;
  color:#91aaa9!important;
  font:600 .77rem/1.35 "Manrope",sans-serif!important;
  transition:background .25s var(--gp-ease),color .25s var(--gp-ease),border-color .25s var(--gp-ease),transform .25s var(--gp-ease)!important;
}
.study-page .study-sidebar .study-side-link::before{
  content:"";
  width:2px;
  height:0;
  position:absolute;
  left:-1px;
  top:12px;
  border-radius:2px;
  background:linear-gradient(var(--gp-green-bright),var(--gp-blue-bright));
  box-shadow:0 0 14px rgba(67,228,154,.6);
  transition:height .25s var(--gp-ease)!important;
}
.study-page .study-sidebar .study-side-link:hover,
.study-page .study-sidebar .study-side-link:focus-visible{
  color:#f1fffb!important;
  background:linear-gradient(90deg,rgba(25,183,122,.10),rgba(34,169,214,.05))!important;
  border-color:rgba(67,228,154,.17)!important;
  transform:translateX(3px);
  outline:none!important;
}
.study-page .study-sidebar .study-side-link:hover::before,
.study-page .study-sidebar .study-side-link:focus-visible::before{height:calc(100% - 24px)}
.study-page .study-sidebar .side-num{
  flex:0 0 24px;
  color:var(--gp-green-bright)!important;
  font:700 .64rem/1.35 "Space Mono",monospace!important;
  letter-spacing:.03em;
}
.study-page .study-sidebar::-webkit-scrollbar{width:5px}
.study-page .study-sidebar::-webkit-scrollbar-thumb{background:rgba(67,228,154,.20);border-radius:99px}
.study-page .study-sidebar::-webkit-scrollbar-track{background:transparent}

/* Study service rail should use the same visual language. */
.study-page .study-services{
  background:rgba(5,18,26,.82)!important;
  border-left:1px solid rgba(129,210,190,.12)!important;
}
.study-page .study-services-card{
  background:linear-gradient(145deg,#0c2933,#071b24)!important;
  border-color:rgba(129,210,190,.17)!important;
  box-shadow:0 18px 45px rgba(0,0,0,.22)!important;
}
.study-page .study-services-card h3{color:#effbf7!important}
.study-page .study-services-card .services-intro{color:#8fa9a8!important}
.study-page .study-services-list li{color:#9bb5b3!important}

/* Keep light study content readable when the source pages intentionally use paper backgrounds. */
.study-page .study-section,
.study-page .source-page-body,
.study-page .gis-master-content{color:#1a2930!important}
.study-page .study-section h1,
.study-page .study-section h2,
.study-page .study-section h3,
.study-page .study-section h4{color:#09202d!important}
.study-page .study-section p,
.study-page .study-section li{color:#405761!important}

@media(max-width:1050px){
  .study-page .study-sidebar{position:relative!important;top:0!important;height:auto!important;max-height:360px!important;border-right:0!important;border-bottom:1px solid rgba(129,210,190,.14)!important}
}

/* =========================================================
   GEOPROCESS V4 — NO-WHITE SURFACE SYSTEM
   Deep blue / teal / green visual language.
   Pure white is intentionally not used as a page surface.
   ========================================================= */
:root{
  --gp-bg-0:#06151f;
  --gp-bg-1:#08212b;
  --gp-bg-2:#0b2d35;
  --gp-bg-3:#0f3940;
  --gp-panel:#10343b;
  --gp-panel-2:#123e45;
  --gp-border:rgba(112,224,198,.16);
  --gp-border-strong:rgba(112,224,198,.30);
  --gp-text:#e8f7f3;
  --gp-text-2:#b8d1cc;
  --gp-muted:#8eaca7;
  --gp-green:#36d98a;
  --gp-green-2:#20b978;
  --gp-cyan:#35c8dc;
  --gp-blue:#258fd3;
  --gp-shadow:0 22px 70px rgba(0,0,0,.28);
}

html,body{background:var(--gp-bg-0)!important;color:var(--gp-text)!important}
body{font-family:"Manrope","Inter",system-ui,sans-serif!important}

/* Main page surfaces */
main,
.section,
.projects-content,
.booking-section,
.capabilities,
.difference,
.contact-section,
.videos-content,
.services-content,
.about-content,
.home-content,
.study-main,
.study-shell,
.study-page,
.study-app{
  background:var(--gp-bg-1)!important;
  color:var(--gp-text)!important;
}

/* Alternate bands create depth instead of white breaks */
.section:nth-of-type(even),
.projects-content:nth-of-type(even),
.booking-section:nth-of-type(even),
.contact-section:nth-of-type(even){background:var(--gp-bg-2)!important}

/* Generic light sections from the original design */
.section:not(.dark),
.service-grid,
.project-grid-fancy,
.cap-grid,
.difference,
.booking-container,
.booking-info-grid,
.faq,
.cta-services,
.projects-cta,
.contact-cards,
.contact-grid,
.video-grid,
.projects-grid,
.services-grid{
  color:var(--gp-text)!important;
}

/* Cards / panels — no white rectangles */
.card,
.service-card-new,
.project-card-fancy,
.cap,
.diff,
.booking-card,
.booking-info-card,
.contact-card,
.contact-form-card,
.video-card,
.faq details,
.faq-item,
.project-card,
.service-card,
.info-card,
.cta-services,
.projects-cta{
  background:linear-gradient(145deg,var(--gp-panel),var(--gp-bg-2))!important;
  border-color:var(--gp-border)!important;
  color:var(--gp-text)!important;
  box-shadow:var(--gp-shadow)!important;
}

.card:hover,
.service-card-new:hover,
.project-card-fancy:hover,
.cap:hover,
.booking-info-card:hover,
.video-card:hover,
.faq details:hover{
  border-color:var(--gp-border-strong)!important;
  box-shadow:0 24px 80px rgba(17,205,145,.10)!important;
}

/* Light CTA blocks become teal instead of white */
.cta-services,
.projects-cta{
  background:linear-gradient(135deg,#0e3a3b,#0a2b38)!important;
  border-color:rgba(54,217,138,.22)!important;
}

/* Text hierarchy */
h1,h2,h3,h4,h5,h6,
.section-intro h2,
.booking-intro h2,
.booking-step h3,
.card h3,
.card h4,
.service-card-new h3,
.project-card-fancy h3,
.contact-card h3,
.footer-title{
  color:var(--gp-text)!important;
  font-family:"Manrope","Inter",sans-serif!important;
}

p,li,.section-intro p,.booking-intro p,
.booking-info-card span,.card p,.service-card-new p,
.project-card-fancy p,.contact-card p{
  color:var(--gp-text-2)!important;
}

small,.muted,.eyebrow{color:var(--gp-muted)!important}

/* Links */
a{color:var(--gp-green)}
a:hover{color:#72f2b1}
.nav-list a{color:var(--gp-text-2)!important}
.nav-list a:hover,.nav-list a.active{color:var(--gp-green)!important}

/* Buttons */
.btn-primary,
.booking-submit,
.nav-cta,
.cta-services .btn,
.projects-cta .btn{
  background:linear-gradient(135deg,var(--gp-green-2),var(--gp-cyan))!important;
  color:#03171a!important;
  border-color:transparent!important;
  box-shadow:0 12px 35px rgba(54,217,138,.20)!important;
}
.btn-primary:hover,.booking-submit:hover:not(:disabled),.nav-cta:hover{
  color:#021418!important;
  filter:saturate(1.12) brightness(1.05);
  transform:translateY(-2px);
}
.btn-ghost{color:var(--gp-text)!important;border-color:var(--gp-border-strong)!important;background:rgba(53,200,220,.06)!important}

/* Inputs, selects, search and text areas */
input,select,textarea,
.booking-input,#booking-form input,#booking-form select,#booking-form textarea,
#studySearch,.study-search input,.search-input{
  background:#0a2731!important;
  color:var(--gp-text)!important;
  border-color:var(--gp-border)!important;
}
input::placeholder,textarea::placeholder,#studySearch::placeholder,.search-input::placeholder{color:#75958f!important}
input:focus,select:focus,textarea:focus,#studySearch:focus,.search-input:focus{
  border-color:var(--gp-green)!important;
  box-shadow:0 0 0 3px rgba(54,217,138,.12),0 0 28px rgba(53,200,220,.08)!important;
  outline:none!important;
}
select option{background:#0a2731!important;color:var(--gp-text)!important}

/* Booking */
.time-slot{
  background:#0b2b34!important;
  color:var(--gp-text)!important;
  border-color:var(--gp-border)!important;
}
.time-slot:hover{background:#103b3d!important;color:var(--gp-green)!important;border-color:var(--gp-green)!important}
.time-slot.selected{background:linear-gradient(135deg,var(--gp-green-2),var(--gp-cyan))!important;color:#03171a!important;border-color:transparent!important}
.booking-message{background:#0b2a32!important;color:var(--gp-text)!important;border-color:var(--gp-border)!important}
.booking-message.success{background:#0b332b!important;color:#8ff0bd!important;border-color:rgba(54,217,138,.28)!important}
.booking-message.error{background:#382126!important;color:#ffb5bd!important;border-color:rgba(255,120,130,.25)!important}

/* Closing / CTA areas */
.closing,.closing-section,.site-closing,
.final-cta,.cta-section{
  background:linear-gradient(135deg,#061a27 0%,#0b3035 55%,#0b2634 100%)!important;
  color:var(--gp-text)!important;
}
.closing h2,.closing h3,.closing p,.closing a{color:var(--gp-text)!important}

/* Study: deliberately dark, readable surfaces */
.study-shell,.study-app,.study-main,.study-content,.study-workspace{
  background:var(--gp-bg-1)!important;
  color:var(--gp-text)!important;
}
.study-sidebar,
.study-sidebar-inner,
.study-local-nav,
.study-nav-panel{
  background:linear-gradient(180deg,#071b27,#0a2b33)!important;
  color:var(--gp-text)!important;
  border-color:var(--gp-border)!important;
}
.study-sidebar a,.study-local-nav a{color:var(--gp-text-2)!important}
.study-sidebar a:hover,.study-sidebar a.active,.study-local-nav a:hover,.study-local-nav a.active{
  color:var(--gp-green)!important;
  background:rgba(54,217,138,.08)!important;
  border-color:rgba(54,217,138,.25)!important;
}
.study-sidebar::before,.study-sidebar::after{background:linear-gradient(var(--gp-green),transparent)!important}

/* Study search/result areas */
#studySearch,
.study-search,
.study-search-wrap,
.search-panel,
.study-search-results,
.search-results,
.study-result,
.study-result-card{
  background:#092631!important;
  color:var(--gp-text)!important;
  border-color:var(--gp-border)!important;
}
.study-search-results *,
.search-results *,.study-result *,.study-result-card *{color:var(--gp-text-2)}
.study-search-results h3,.search-results h3,.study-result h3,.study-result-card h3{color:var(--gp-text)!important}

/* Source/library buttons */
.source-library-button,.study-source-button,
.study-toolbar button,.study-filter button{
  background:#0d3038!important;
  color:var(--gp-text)!important;
  border-color:var(--gp-border)!important;
}
.source-library-button:hover,.study-source-button:hover,
.study-toolbar button:hover,.study-filter button:hover{
  background:#104148!important;
  color:var(--gp-green)!important;
  border-color:var(--gp-green)!important;
}

/* Footer */
.site-footer{background:#04131d!important;color:var(--gp-text)!important;border-top:1px solid var(--gp-border)!important}
.footer-title{color:var(--gp-green)!important}
.site-footer p,.site-footer li,.site-footer a{color:var(--gp-text-2)!important}
.site-footer a:hover{color:var(--gp-green)!important}

/* Header / logo */
.site-nav{background:rgba(4,19,29,.90)!important;border-bottom:1px solid var(--gp-border)!important;backdrop-filter:blur(18px)}
.brand-name{color:var(--gp-text)!important}
.brand-sub{color:var(--gp-green)!important}
.brand-mark .pulse{fill:var(--gp-green)!important}

/* Decorative data/grid tones */
.data-orbit,.radar,.terrain,.map-visual{border-color:rgba(53,200,220,.20)!important}

/* Remove common legacy orange from visible UI */
[style*="#ff6a2b"],[style*="#e65618"],[style*="#fff7ed"],[style*="#fff4ef"]{color:inherit}

/* Responsive */
@media (max-width:768px){
  .section{padding:70px 0!important}
  h1{font-size:clamp(2.2rem,11vw,4rem)!important}
  h2{font-size:clamp(1.8rem,8vw,3rem)!important}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* =========================================================
   v5 STUDY HUB REFINEMENT — user requested source gradients
   ========================================================= */

/* Compact sticky study rail: remove the artificial empty column space. */
.study-page .study-layout{align-items:start!important}
.study-page .study-sidebar{
  height:auto!important;
  max-height:calc(100vh - 133px)!important;
  align-self:start!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-bottom:16px!important;
}
.study-page #studySideNav:empty{display:none!important}
.study-page .source-side-heading{
  margin:14px 10px 8px!important;
  padding-top:12px!important;
  border-top:1px solid rgba(129,210,190,.14)!important;
  color:#7de9b2!important;
  font:700 .68rem/1 "Space Mono",monospace!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
.study-page .source-side-link{
  position:relative;
  display:flex!important;
  align-items:flex-start;
  gap:9px;
  margin:2px 0!important;
  padding:8px 11px!important;
  border-radius:10px!important;
  color:#a7c0be!important;
  background:transparent!important;
  border:1px solid transparent!important;
  font:600 .75rem/1.35 "Manrope",sans-serif!important;
}
.study-page .source-side-link .side-num{
  flex:0 0 24px;
  color:#43e49a!important;
  font:700 .62rem/1.35 "Space Mono",monospace!important;
}
.study-page .source-side-link:hover,
.study-page .source-side-link:focus-visible{
  color:#f1fffb!important;
  background:linear-gradient(90deg,rgba(25,183,122,.10),rgba(34,169,214,.06))!important;
  border-color:rgba(67,228,154,.18)!important;
  outline:none!important;
}

/* Exact source library background requested. */
.study-page .source-library{
  background:linear-gradient(60deg, rgba(6, 17, 29, .98), rgba(6, 17, 29, .76) 52%, rgba(6, 17, 29, .35))!important;
  border-top:1px solid rgba(95,227,255,.12)!important;
}
.study-page .source-library-head h2{color:#f5f8fa!important}
.study-page .source-library-head p{color:#b8c9d4!important}
.study-page .source-library-head .eyebrow{color:#55d5ff!important}
.study-page .source-library-stats span{
  background:rgba(10,31,43,.72)!important;
  border-color:rgba(95,227,255,.16)!important;
  color:#dff7ff!important;
}

/* Exact source book header gradient requested. */
.study-page .source-book-head{
  background:linear-gradient(135deg, #55d5ff, #f5f8fa)!important;
  border-bottom:1px solid rgba(6,17,29,.12)!important;
}
.study-page .source-book-head h3{color:#06111d!important}
.study-page .source-book-head p{color:#18364a!important}
.study-page .source-book-kicker{color:#0d6f73!important}
.study-page .source-book-meta span{
  background:rgba(255,255,255,.58)!important;
  color:#163447!important;
  border:1px solid rgba(6,17,29,.08)!important;
}

/* Exact source page body gradient requested. */
.study-page .source-page-body{
  background:linear-gradient(80deg, rgba(6, 17, 29, .98), rgba(6, 17, 29, .76) 52%, rgba(6, 17, 29, .35))!important;
  color:#d9edf5!important;
}
.study-page .source-page-body,
.study-page .source-page-body p,
.study-page .source-page-body li,
.study-page .source-page-body .source-text,
.study-page .source-page-body .source-paragraph,
.study-page .source-page-body .source-list-item{color:#d9edf5!important}
.study-page .source-page-body h2,
.study-page .source-page-body h3,
.study-page .source-page-body h4,
.study-page .source-page-body .source-topic-heading,
.study-page .source-page-body .source-subheading{color:#ffffff!important}
.study-page .source-page-body strong{color:#9de8ff!important}
.study-page .source-page-body pre{
  background:rgba(2,9,15,.72)!important;
  border-color:rgba(95,227,255,.16)!important;
  color:#d8f3ff!important;
}
.study-page .source-page summary{
  background:rgba(8,24,36,.78)!important;
  color:#eaf7fb!important;
}
.study-page .source-page summary:hover{background:rgba(15,54,70,.82)!important;color:#55d5ff!important}

/* v6 — compact Study sidebar: remove the unused horizontal space */
@media (min-width: 1050px){
  .study-page .study-layout{
    grid-template-columns:230px minmax(0,1fr) 290px !important;
  }
  .study-page .study-sidebar{
    padding:18px 8px 14px !important;
  }
  .study-page .study-sidebar h3{
    margin-left:8px !important;
    margin-right:8px !important;
    margin-bottom:10px !important;
    font-size:.92rem !important;
  }
  .study-page .study-sidebar::before{
    margin-left:8px !important;
    margin-right:8px !important;
    margin-bottom:9px !important;
  }
  .study-page .study-sidebar .study-side-link,
  .study-page .source-side-link{
    width:100% !important;
    gap:7px !important;
    padding:7px 8px !important;
    margin:1px 0 !important;
    border-radius:8px !important;
  }
  .study-page .study-sidebar .study-side-link{
    font-size:.73rem !important;
    line-height:1.28 !important;
  }
  .study-page .source-side-link{
    font-size:.71rem !important;
    line-height:1.28 !important;
  }
  .study-page .study-sidebar .side-num,
  .study-page .source-side-link .side-num{
    flex-basis:22px !important;
    font-size:.59rem !important;
  }
  .study-page .source-side-heading{
    margin-left:8px !important;
    margin-right:8px !important;
    margin-top:11px !important;
    padding-top:9px !important;
  }
}
