@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Playfair+Display:wght@500;600;700&display=swap");
:root{
  --black:#04080b;
  --panel:#071015;
  --panel2:#081218;
  --gold:#ffd36f;
  --gold2:#ffd36f;
  --ivory:#f6efe2;
  --muted:#d0c6b8;
  --line:rgba(255,211,111,.34);
  --header-h:82px;
  --container:min(1180px, calc(100vw - 48px));
  --serif:"Playfair Display", serif;
  --display:"Inter", sans-serif;
  --body:"Inter", sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--black);
  color:var(--ivory);
  font-family:var(--body);
  line-height:1.65;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.container{width:var(--container);margin-inline:auto;position:relative;z-index:2}

.site-header{
  position:fixed;inset:0 0 auto;
  z-index:100;
  height:var(--header-h);
  display:flex;align-items:center;gap:28px;
  padding:0 max(24px,calc((100vw - 1180px)/2));
  background:rgba(2,5,7,.82);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,211,111,.35);
}
.brand img{width:252px;height:auto;object-fit:contain}
.desktop-nav{margin-left:auto;display:flex;gap:28px;text-transform:uppercase;font-size:11px;letter-spacing:.13em;color:#e9dfd0}
.desktop-nav a,.mobile-nav a{transition:.2s}
.desktop-nav a:hover,.header-cta:hover,.mobile-nav a:hover{color:var(--gold2)}
.header-cta,.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:0 24px;border:1px solid var(--gold);
  text-transform:uppercase;letter-spacing:.11em;font-size:10.5px;font-weight:700;
  transition:.25s ease;
}
.header-cta:hover,.btn:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(255,211,111,.18)}
.btn-gold{background:linear-gradient(135deg,#b88632,#f3c66b);color:#120d06}
.btn-outline{background:rgba(0,0,0,.18);color:var(--gold2)}
.menu-toggle{display:none;margin-left:auto;background:none;color:var(--gold);border:1px solid var(--line);font-size:20px;padding:8px 12px}
.mobile-nav{display:none;position:fixed;z-index:90;top:var(--header-h);left:0;right:0;background:#05080a;border-bottom:1px solid var(--line);padding:14px 24px}
.mobile-nav a{display:block;padding:12px 0;text-transform:uppercase;letter-spacing:.12em;color:var(--ivory)}
body.nav-open .mobile-nav{display:block}

.section-bg{
  position:relative;
  background-image:var(--bg);
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
.section-overlay{position:absolute;inset:0;z-index:1;pointer-events:none}
.hero-overlay{background:linear-gradient(90deg,rgba(3,6,8,.84) 0%,rgba(3,6,8,.63) 34%,rgba(3,6,8,.10) 70%,rgba(3,6,8,.03) 100%)}
.left-soft{background:linear-gradient(90deg,rgba(3,6,8,.90) 0%,rgba(3,6,8,.66) 44%,rgba(3,6,8,.08) 100%)}
.full-dark{background:linear-gradient(180deg,rgba(3,6,8,.84),rgba(3,6,8,.82))}
.contact-soft{background:linear-gradient(90deg,rgba(3,6,8,.90) 0%,rgba(3,6,8,.70) 38%,rgba(3,6,8,.12) 68%,rgba(3,6,8,.04) 100%)}

.hero,.section,.strip{
  position:relative;
  scroll-margin-top:var(--header-h);
}
.hero{
  min-height:100svh;
  padding-top:var(--header-h);
  display:flex;
  align-items:center;
}
.hero-grid{display:grid;grid-template-columns:minmax(0,560px) 1fr;align-items:center;min-height:calc(100svh - var(--header-h))}
.hero-copy{padding:44px 0 72px}
.hero h1,.section h2{
  font-family:var(--serif);
  font-size:clamp(54px,5.3vw,78px);
  line-height:.96;
  margin:18px 0 20px;
  font-weight:700;
  letter-spacing:-.025em;
}
.hero h1 span,.section h2 span,.section-title span{color:var(--gold2)}
.eyebrow{
  font-family:var(--display);
  font-size:13px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold2);
  font-weight:700;
}
.gold-rule{width:74px;height:2px;background:var(--gold);margin:20px 0}
.lead,.section-sub{font-size:16px;color:#dfd6ca;max-width:590px}
.button-row{display:flex;gap:20px;flex-wrap:wrap;margin-top:30px}

.scroll-cue{
  position:absolute;left:50%;bottom:22px;z-index:5;transform:translateX(-50%);
  width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,211,111,.62);
  background:rgba(2,5,7,.34);display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 28px rgba(0,0,0,.34);transition:.22s ease;
}
.scroll-cue span{width:13px;height:13px;border-right:2px solid var(--gold2);border-bottom:2px solid var(--gold2);transform:rotate(45deg) translateY(-2px)}
.scroll-cue:hover{background:rgba(199,154,60,.16);transform:translateX(-50%) translateY(-2px)}
.section-cue{bottom:16px}
.cue-up span{transform:rotate(225deg) translateY(-2px)}

.strip{
  background:linear-gradient(180deg,#050a0d,#081015);
  padding:84px 0 96px;
  border-top:1px solid rgba(255,211,111,.25);
  border-bottom:1px solid rgba(255,211,111,.22);
}
.center{text-align:center;margin-inline:auto}
.section-title{font-family:var(--serif);font-size:clamp(40px,4.3vw,62px);line-height:1.06;margin:8px 0 18px}
.three-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}
.mini-card,.service-card,.two-small-cards article,.contact-card,.sector-card{
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(8,16,21,.88),rgba(3,7,10,.92));
  box-shadow:0 24px 60px rgba(0,0,0,.30);
}
.mini-card{padding:40px 30px;text-align:center}
.mini-card img{width:64px;height:64px;margin:0 auto 18px}
.mini-card h3,.service-card h3,.sector-card h3,.steps h3{font-family:var(--serif);font-size:29px;line-height:1.05;margin:8px 0;color:var(--ivory)}
.mini-card p,.service-card p,.sector-card p,.steps p,.two-small-cards p{color:var(--muted);font-size:14.5px}
.mini-card a,.sector-card a{display:inline-block;margin-top:14px;color:var(--gold2);text-transform:uppercase;font-size:11px;letter-spacing:.13em;font-weight:700}

.section{min-height:100svh;padding:110px 0 92px}
.two-col{display:grid;grid-template-columns:minmax(0,570px) 1fr}
.content-panel{padding-top:8px}
.content-panel p{max-width:560px}
.two-small-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:36px;max-width:540px}
.two-small-cards article{padding:24px}
.two-small-cards img{width:52px;height:52px;margin-bottom:12px}
.two-small-cards h3{font-family:var(--serif);font-size:27px;margin:0 0 10px}

.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px}
.service-card{overflow:hidden}
.service-visual{height:180px;border-bottom:1px solid rgba(255,211,111,.40);overflow:hidden}
.service-visual img{width:100%;height:100%;object-fit:cover}
.service-body{padding:24px 26px 28px;min-height:220px}
.service-body > img{width:50px;height:50px;margin:0 0 12px;object-fit:contain}
.service-card b,.sector-card b,.steps b{font-family:var(--serif);display:block;font-size:31px;color:var(--gold2);line-height:1}
.service-card h3{font-size:24px;margin:10px 0 12px}
.service-card p{margin:0}

.sectors .section-sub{max-width:700px}
.sector-list{display:grid;gap:14px;margin-top:36px}
.sector-card{display:grid;grid-template-columns:46% 54%;padding:0;overflow:hidden;align-items:stretch}
.sector-card.image-right{grid-template-columns:54% 46%}
.sector-image{min-height:185px;overflow:hidden}
.sector-image img{width:100%;height:100%;object-fit:cover}
.sector-copy{padding:28px 36px;display:flex;flex-direction:column;justify-content:center;position:relative}
.sector-copy::after{content:"";position:absolute;top:20px;right:26px;width:110px;height:110px;border:1px solid rgba(255,211,111,.14);border-radius:50%;opacity:.28}
.sector-card h3{font-size:30px;margin:8px 0 10px}
.sector-card p{margin:0;max-width:420px}

.approach{overflow:hidden}
.approach-grid{display:grid;grid-template-columns:minmax(0,610px) 1fr}
.approach-watermark{
  position:absolute;right:8%;top:12%;z-index:1;pointer-events:none;opacity:.16;
  filter:drop-shadow(0 0 18px rgba(255,211,111,.12));mix-blend-mode:screen;
}
.approach-watermark img{width:min(380px,30vw)}
.steps{display:grid;gap:10px;margin-top:26px;max-width:560px}
.steps article{display:grid;grid-template-columns:56px 56px 1fr;gap:16px;align-items:start;padding:18px 0;border-top:1px solid rgba(255,211,111,.22)}
.steps img{width:48px;height:48px;object-fit:contain}
.steps h3{font-size:23px;margin:0 0 4px;color:var(--gold2)}
.steps p{margin:0}

.contact-grid{display:grid;grid-template-columns:minmax(0,560px) 1fr}
.contact-copy{padding-top:12px}
.contact-card{
  margin-top:24px;max-width:530px;padding:30px 34px;border-radius:12px;
  background:linear-gradient(180deg,rgba(4,11,14,.94),rgba(3,7,10,.96));
}
.contact-logo{width:270px;margin-bottom:20px}
.contact-card dl{margin:0}
.contact-card dt{margin-top:16px;color:var(--gold2);text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:14px}
.contact-card dd{margin:4px 0 0;padding-bottom:13px;border-bottom:1px solid rgba(255,211,111,.22);font-size:18px;font-weight:600;color:#fff;overflow-wrap:anywhere}

.site-footer{background:#04080b;border-top:1px solid rgba(255,211,111,.24);padding:28px 0}
.footer-grid{display:grid;grid-template-columns:230px 1fr auto;gap:24px;align-items:center;color:var(--muted);font-size:14px}
.footer-grid img{width:220px}

@media (max-width:1024px){
  :root{--header-h:76px}
  .desktop-nav,.header-cta{display:none}
  .menu-toggle{display:block}
  .site-header{padding-inline:20px}
  .brand img{width:218px}
  .hero-grid,.two-col,.approach-grid,.contact-grid{grid-template-columns:1fr}
  .three-cards,.service-grid{grid-template-columns:1fr 1fr}
  .sector-card,.sector-card.image-right{grid-template-columns:1fr}
  .sector-image{min-height:240px}
  .footer-grid{grid-template-columns:1fr;text-align:center}
  .footer-grid img{margin:auto}
  .left-soft,.contact-soft{background:linear-gradient(180deg,rgba(3,6,8,.72),rgba(3,6,8,.58))}
  .approach-watermark{right:5%;top:auto;bottom:18%;opacity:.12}
}

@media (max-width:680px){
  :root{--container:calc(100vw - 28px);--header-h:72px}
  .brand img{width:180px}
  .hero,.section{min-height:auto}
  .hero{padding-top:var(--header-h);background-position:68% center}
  .hero-grid{min-height:calc(100svh - var(--header-h))}
  .hero-copy{padding:28px 0 78px}
  .hero h1,.section h2{font-size:42px}
  .lead,.section-sub{font-size:15px}
  .button-row{gap:12px}.btn{width:100%}
  .three-cards,.service-grid,.two-small-cards{grid-template-columns:1fr}
  .service-visual{height:210px}
  .mini-card,.contact-card{padding-inline:22px}
  .sector-copy{padding:24px}
  .sector-card h3{font-size:27px}
  .steps article{grid-template-columns:40px 40px 1fr;gap:12px}
  .steps img{width:38px;height:38px}
  .steps b{font-size:27px}
  .contact-logo{width:220px}
  .contact-card dd{font-size:15px}
  .scroll-cue{bottom:14px}
  .approach-watermark{display:none}
}

/* V12 FINAL REVIEW - three small corrections */
.hero{
  background-position:center top!important;
}
.approach-watermark{
  right:7.5%!important;
  top:9.5%!important;
  opacity:.42!important;
  transform:rotate(0deg)!important;
  mix-blend-mode:screen!important;
  filter:drop-shadow(0 0 16px rgba(255,211,111,.22))!important;
}
.approach-watermark img{
  width:min(500px,34vw)!important;
  opacity:.62!important;
}
.about{
  background-position:center center!important;
}
@media(max-width:1024px){
  .approach-watermark{right:3%!important;top:13%!important;opacity:.22!important;}
}


/* FINAL APPROVED VERSION */
.about{
  background-image:url('assets/about_background_FINAL_APPROVED.png')!important;
  background-position:center center!important;
  background-size:cover!important;
}
.about .left-soft{
  background:linear-gradient(90deg,rgba(3,6,8,.92) 0%,rgba(3,6,8,.72) 38%,rgba(3,6,8,.16) 72%,rgba(3,6,8,.03) 100%)!important;
}


/* V2 FINAL APPROVED - approach section corrected */
.approach{
  background-image:url('assets/approach_background_FINAL_APPROVED.png')!important;
  background-position:center center!important;
  background-size:cover!important;
}
.approach-watermark{display:none!important;}
.approach .left-soft{
  background:linear-gradient(90deg,rgba(3,6,8,.93) 0%,rgba(3,6,8,.76) 34%,rgba(3,6,8,.18) 66%,rgba(3,6,8,.05) 100%)!important;
}
@media(max-width:1024px){
  .approach{
    background-position:62% center!important;
  }
}


/* ALMOTIREY FINAL LOCKED VERSION */
.about{
  background-image:url('assets/about_background_FINAL_APPROVED.png')!important;
  background-position:center center!important;
  background-size:cover!important;
}
.about .left-soft{
  background:linear-gradient(90deg,rgba(3,6,8,.92) 0%,rgba(3,6,8,.70) 36%,rgba(3,6,8,.16) 70%,rgba(3,6,8,.03) 100%)!important;
}
.approach{
  background-image:url('assets/approach_background_FINAL_APPROVED.png')!important;
  background-position:center center!important;
  background-size:cover!important;
}
.approach-watermark{
  display:none!important;
}
.approach .left-soft{
  background:linear-gradient(90deg,rgba(3,6,8,.93) 0%,rgba(3,6,8,.76) 34%,rgba(3,6,8,.18) 66%,rgba(3,6,8,.05) 100%)!important;
}
@media(max-width:1024px){
  .about{background-position:58% center!important;}
  .approach{background-position:62% center!important;}
}


/* FINAL TRUE FIX - Approach background has zero embedded text */
.approach{
  background-image:url('assets/approach_background_FINAL_CLEAN_NO_TEXT_TRUE.png')!important;
  background-position:center center!important;
  background-size:cover!important;
}
.approach-watermark{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
}
.approach .left-soft{
  background:linear-gradient(90deg,rgba(2,6,8,.74) 0%,rgba(2,6,8,.54) 34%,rgba(2,6,8,.08) 66%,rgba(2,6,8,0) 100%)!important;
}


/* FINAL POLISH PATCH — About & Approach only + bright gold title tone */
:root{
  --gold:#ffd36f;
  --gold2:#ffd36f;
  --gold-bright:#ffd36f;
}

/* Prevent visual bleed from baked-in screenshot areas in the two corrected sections */
#about.section-bg,
#approach.section-bg{
  overflow:hidden!important;
  height:auto!important;
  min-height:100svh!important;
}

/* Keep the approved images; only control their visible crop */
#about{
  background-image:url('assets/about_background_FINAL_APPROVED.png')!important;
  background-size:cover!important;
  background-position:center center!important;
}
#approach{
  background-image:url('assets/approach_background_FINAL_APPROVED_RESTORED.png')!important;
  background-size:cover!important;
  background-position:center center!important;
}

/* A top mask removes any embedded Home/header fragments inside these two background screenshots */
#about::before,
#approach::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:0!important;
  height:185px!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(
    180deg,
    rgba(2,6,8,1) 0%,
    rgba(2,6,8,.96) 42%,
    rgba(2,6,8,.62) 72%,
    rgba(2,6,8,0) 100%
  )!important;
}

/* Left-side masks hide baked-in old text, while keeping the correct image visible on the right */
#about .left-soft{
  z-index:1!important;
  background:
    linear-gradient(90deg,
      rgba(2,6,8,1) 0%,
      rgba(2,6,8,1) 41%,
      rgba(2,6,8,.96) 50%,
      rgba(2,6,8,.48) 64%,
      rgba(2,6,8,.10) 79%,
      rgba(2,6,8,0) 100%)!important;
}
#approach .left-soft{
  z-index:1!important;
  background:
    linear-gradient(90deg,
      rgba(2,6,8,1) 0%,
      rgba(2,6,8,1) 43%,
      rgba(2,6,8,.97) 52%,
      rgba(2,6,8,.44) 68%,
      rgba(2,6,8,.08) 82%,
      rgba(2,6,8,0) 100%)!important;
}

/* Real live content stays above masks; no duplicated HTML elements */
#about .container,
#approach .container{
  position:relative!important;
  z-index:2!important;
}

/* Remove the old extra watermark layer if present */
#approach .approach-watermark{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
}

/* Title size correction for the two pages that became too large after font changes */
#about h2,
#approach h2{
  font-size:clamp(44px,4.6vw,66px)!important;
  line-height:.98!important;
  letter-spacing:-.018em!important;
  margin-top:14px!important;
  margin-bottom:18px!important;
}

/* Bright luxury gold headings, not muted gold */
#about h2 span,
#approach h2 span,
.section h2 span,
.section-title span,
.steps h3,
.service-card h3 span,
.sector-card h3 span{
  color:var(--gold-bright)!important;
}
.eyebrow,
.steps b,
.service-card b,
.sector-card b{
  color:var(--gold-bright)!important;
}

/* Keep cards and steps in natural flow */
#about .two-small-cards,
#approach .steps{
  position:relative!important;
  z-index:3!important;
  margin-top:32px!important;
}

/* Responsive correction for tablet/mobile */
@media(max-width:1024px){
  #about,
  #approach{
    background-position:62% center!important;
    min-height:auto!important;
  }
  #about::before,
  #approach::before{
    height:150px!important;
  }
  #about .left-soft,
  #approach .left-soft{
    background:linear-gradient(
      180deg,
      rgba(2,6,8,.92) 0%,
      rgba(2,6,8,.84) 55%,
      rgba(2,6,8,.24) 100%
    )!important;
  }
  #about h2,
  #approach h2{
    font-size:clamp(40px,7vw,56px)!important;
  }
}
@media(max-width:680px){
  #about,
  #approach{
    background-position:68% center!important;
  }
  #about::before,
  #approach::before{
    height:120px!important;
  }
  #about h2,
  #approach h2{
    font-size:40px!important;
  }
}


/* FINAL TYPOGRAPHY + GOLD SYSTEM REFINEMENT */
:root{
  --gold:#ffd36f;
  --gold2:#ffd36f;
  --gold-bright:#ffd36f;
  --line:rgba(255,211,111,.34);
  --serif:"Playfair Display", serif;
  --display:"Inter", sans-serif;
  --body:"Inter", sans-serif;
}
body{
  font-family:"Inter", sans-serif!important;
  font-size:16px;
}
.hero h1,
.section h2,
.section-title,
.mini-card h3,
.service-card h3,
.sector-card h3,
.steps h3,
.two-small-cards h3,
.contact-card dt{
  font-family:"Playfair Display", serif!important;
}
.eyebrow,
.desktop-nav,
.mobile-nav a,
.header-cta,
.btn{
  font-family:"Inter", sans-serif!important;
}

/* Balanced luxury sizes */
.hero h1{
  font-size:clamp(50px,4.9vw,72px)!important;
  line-height:.98!important;
}
.section h2{
  font-size:clamp(42px,4.2vw,64px)!important;
  line-height:1.02!important;
}
#about h2,
#approach h2{
  font-size:clamp(42px,4.1vw,62px)!important;
  line-height:1.02!important;
}
.section-title{
  font-size:clamp(38px,3.8vw,54px)!important;
  line-height:1.08!important;
}
.mini-card h3{
  font-size:26px!important;
}
.service-card h3{
  font-size:24px!important;
}
.sector-card h3{
  font-size:26px!important;
}
.steps h3{
  font-size:23px!important;
}
.two-small-cards h3{
  font-size:24px!important;
}
.lead,
.section-sub,
.content-panel p,
.contact-copy p{
  font-size:16px!important;
}

/* Unified bright luxury gold system */
.hero h1 span,
.section h2 span,
.section-title span,
.eyebrow,
.steps h3,
.steps b,
.service-card b,
.sector-card b,
.mini-card a,
.sector-card a,
.contact-card dt{
  color:#ffd36f!important;
}
.gold-rule{
  background:#ffd36f!important;
}
.header-cta,
.btn,
.mini-card,
.service-card,
.two-small-cards article,
.contact-card,
.sector-card{
  border-color:rgba(255,211,111,.34)!important;
}
.btn-gold{
  background:linear-gradient(135deg,#b88632,#f3c66b)!important;
}
.btn-outline{
  color:#ffd36f!important;
  border-color:#ffd36f!important;
}
@media(max-width:1024px){
  .hero h1{font-size:clamp(46px,7vw,64px)!important;}
  .section h2,#about h2,#approach h2{font-size:clamp(38px,6vw,56px)!important;}
  .section-title{font-size:clamp(36px,5.8vw,48px)!important;}
}
@media(max-width:680px){
  .hero h1{font-size:42px!important;}
  .section h2,#about h2,#approach h2{font-size:38px!important;}
  .section-title{font-size:36px!important;}
  .mini-card h3,.sector-card h3{font-size:24px!important;}
}


/* FINAL ANCHOR NAVIGATION REFINEMENT
   Single-page website: all sections use internal anchor scrolling.
   This patch standardizes section offsets and prevents header overlap.
*/
html{
  scroll-behavior:smooth!important;
  scroll-padding-top:calc(var(--header-h) + 16px)!important;
  overflow-x:clip!important;
}
body{
  overflow-x:clip!important;
}

/* All anchor targets must start below the fixed header */
#home,
#home-services,
#about,
#services,
#sectors,
#approach,
#contact{
  scroll-margin-top:calc(var(--header-h) + 16px)!important;
}

/* Sections should grow naturally when content is taller than the viewport */
.hero,
.section,
.strip{
  height:auto!important;
  scroll-margin-top:calc(var(--header-h) + 16px)!important;
}

/* Keep full-screen feel only where useful; never force clipping of taller content */
.hero{
  min-height:100svh!important;
}
.section{
  min-height:100svh!important;
}
.strip{
  min-height:auto!important;
}

/* Consistent cloud/arrow behavior across all sections */
.scroll-cue{
  cursor:pointer!important;
  text-decoration:none!important;
}
.scroll-cue:focus-visible{
  outline:2px solid #ffd36f!important;
  outline-offset:4px!important;
}

/* Anchor target correction on tablet/mobile */
@media(max-width:1024px){
  html{
    scroll-padding-top:calc(var(--header-h) + 14px)!important;
  }
  #home,
  #home-services,
  #about,
  #services,
  #sectors,
  #approach,
  #contact{
    scroll-margin-top:calc(var(--header-h) + 14px)!important;
  }
  .hero,
  .section,
  .strip{
    scroll-margin-top:calc(var(--header-h) + 14px)!important;
  }
}

@media(max-width:680px){
  html{
    scroll-padding-top:calc(var(--header-h) + 12px)!important;
  }
  #home,
  #home-services,
  #about,
  #services,
  #sectors,
  #approach,
  #contact{
    scroll-margin-top:calc(var(--header-h) + 12px)!important;
  }
  .hero,
  .section,
  .strip{
    min-height:auto!important;
    scroll-margin-top:calc(var(--header-h) + 12px)!important;
  }
  .hero{
    min-height:100svh!important;
  }
}


/* FINAL SHINY LUXURY GOLD TEXT SYSTEM
   Applies animated gradient gold only to H1, H2 and logo treatment.
   Body text, paragraphs and small UI text are not given the text-gradient effect.
*/
:root{
  --gold:#ffd36f;
  --gold2:#ffd36f;
  --gold-bright:#ffd36f;
  --gold-gradient:linear-gradient(115deg,#fff3b0 0%,#ffd36f 22%,#f3c66b 44%,#b88632 62%,#fff3b0 82%,#ffd36f 100%);
  --line:rgba(255,211,111,.34);
}

@keyframes almotireyGoldShimmer{
  0%{background-position:0% 50%;}
  45%{background-position:100% 50%;}
  100%{background-position:0% 50%;}
}

/* H1/H2 shiny gold only */
.hero h1,
.section h2,
.section-title{
  background:var(--gold-gradient)!important;
  background-size:220% auto!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  color:transparent!important;
  animation:almotireyGoldShimmer 9.5s ease-in-out infinite!important;
  text-shadow:0 0 18px rgba(255,211,111,.08)!important;
}

/* Keep nested spans transparent so the parent gradient flows through the whole title */
.hero h1 span,
.section h2 span,
.section-title span{
  background:inherit!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  color:transparent!important;
}

/* Logo shimmer overlay, without changing logo file or layout */
.brand{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
}
.brand::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:var(--gold-gradient)!important;
  background-size:240% auto!important;
  -webkit-mask:url("assets/logo_pdf_exact_header.png") center/contain no-repeat!important;
  mask:url("assets/logo_pdf_exact_header.png") center/contain no-repeat!important;
  opacity:.36!important;
  mix-blend-mode:screen!important;
  animation:almotireyGoldShimmer 10.5s ease-in-out infinite!important;
}

/* Footer logo gets a subtle shimmer highlight without changing structure */
.footer-grid img{
  filter:drop-shadow(0 0 8px rgba(255,211,111,.12))!important;
}

/* Approved gold system for non-gradient UI accents: use only gradient stops in solid/rgba form */
.gold-rule,
.sector-list b::after{
  background:#ffd36f!important;
}
.eyebrow,
.steps h3,
.steps b,
.service-card b,
.sector-card b,
.mini-card a,
.sector-card a,
.contact-card dt,
.btn-outline{
  color:#ffd36f!important;
}
.header-cta,
.btn,
.mini-card,
.service-card,
.two-small-cards article,
.contact-card,
.sector-card,
.scroll-cue{
  border-color:rgba(255,211,111,.34)!important;
}
.btn-gold{
  background:linear-gradient(135deg,#b88632,#f3c66b)!important;
}
.btn-outline{
  border-color:#ffd36f!important;
}
.scroll-cue span{
  border-right-color:#ffd36f!important;
  border-bottom-color:#ffd36f!important;
}

/* Reduce motion preference */
@media (prefers-reduced-motion:reduce){
  .hero h1,
  .section h2,
  .section-title,
  .brand::after{
    animation:none!important;
    background-position:50% 50%!important;
  }
}


/* FINAL PROFESSIONAL SMOOTH ANCHOR SCROLL */
:root{
  --anchor-offset:calc(var(--header-h, 86px) + 18px);
}
html{
  scroll-behavior:smooth!important;
  scroll-padding-top:var(--anchor-offset)!important;
  overflow-x:clip!important;
}
body{
  overflow-x:clip!important;
}

/* Fixed-header correction for every section target */
#home,
#home-services,
#about,
#services,
#sectors,
#approach,
#contact,
section,
.section,
.hero,
.strip{
  scroll-margin-top:var(--anchor-offset)!important;
}

/* Sections grow naturally; no forced fixed height when content is taller */
.hero,
.section,
.strip{
  height:auto!important;
}
.hero{
  min-height:100svh!important;
}
.section{
  min-height:100svh!important;
}
.strip{
  min-height:auto!important;
}

/* Unified cloud-button anchor behavior */
.scroll-cue{
  cursor:pointer!important;
  text-decoration:none!important;
  touch-action:manipulation!important;
}
.scroll-cue:focus-visible{
  outline:2px solid #ffd36f!important;
  outline-offset:4px!important;
}

@media(max-width:1024px){
  :root{
    --anchor-offset:calc(var(--header-h, 78px) + 16px);
  }
}

@media(max-width:680px){
  :root{
    --anchor-offset:calc(var(--header-h, 72px) + 14px);
  }
  .section,
  .strip{
    min-height:auto!important;
  }
  .hero{
    min-height:100svh!important;
  }
}
