/* ============================================================
   ASSET SCOPE — HOME PAGE (matches "Asset Scope 1440p V8.5")
   Loaded after styles.css on index.html only; every rule is
   scoped to body.home so other pages are unaffected.
   ============================================================ */
@font-face{
  font-family:'Founders Grotesk';
  src:url('fonts/FoundersGrotesk-Light.otf') format('opentype'),
      url('fonts/FoundersGrotesk-Regular.otf') format('opentype');
  font-weight:300;font-style:normal;font-display:swap;
}
body.home{
  --charcoal:#2B2B2D;--cyan:#7BE4F7;--violet:#4F55FA;--green:#12594E;
  --mint:#C8E5EA;--mint-pale:#E9F5F7;--pink:#E1AEFE;--grey:#F1F1F1;
  font-family:'Founders Grotesk',Arial,sans-serif;font-weight:300;
  font-size:21px;line-height:29px;color:var(--charcoal);
}
.home h1,.home h2,.home h3,.home h4,.home h5{font-weight:500;letter-spacing:0;}
.home p{margin:0;}
.home a{color:inherit;}
.home a:hover{color:inherit;}
.h-in{position:relative;max-width:1440px;margin:0 auto;}
.h-sq{ /* 4px square dot field, 24px pitch */
  background-repeat:repeat;background-size:24px 24px;}
.h-arr{width:16px;height:14px;flex:none;display:block;}

/* ---------- Buttons ---------- */
.home .hb{display:inline-flex;align-items:center;gap:12px;height:49px;padding:0 26px;
  font-family:inherit;font-weight:500;font-size:18px;line-height:1;border:1px solid transparent;
  border-radius:0;cursor:pointer;transition:background .2s,color .2s,border-color .2s;white-space:nowrap;
  justify-content:center;text-align:center;text-box:trim-both cap alphabetic;}
.home .hb:hover{transform:none;}
.home .hb .h-arr{transition:transform .2s;}
.home .hb:hover .h-arr{transform:translateX(3px);}
.home .hb--cyan{background:var(--cyan);color:var(--charcoal);}
.home .hb--cyan:hover{background:#9DEBF9;color:var(--charcoal);}
.home .hb--line{background:transparent;color:#fff;border-color:var(--cyan);}
.home .hb--line:hover{background:var(--cyan);color:var(--charcoal);}
.home .hb--line-mint{background:transparent;color:var(--mint);border-color:var(--cyan);}
.home .hb--line-mint:hover{background:var(--cyan);color:var(--charcoal);}
.home .hb--green{background:var(--green);color:var(--cyan);font-size:16px;padding:0 26px;}
.home .hb--green:hover{background:#0E4A40;color:var(--cyan);}
.home .hb--sm{font-size:16px;}
.home .hb.is-inert{cursor:default;}

/* ---------- Header ---------- */
.home .site-header{background:var(--charcoal);border-bottom:1px solid #B5B5B5;}
.home .nav-inner{max-width:1440px;padding:0 60px;min-height:73px;gap:0;position:relative;}
.home .brand-logo{height:25px;width:auto;}
.home .main-nav{position:absolute;left:478px;margin:0;}
.home .main-nav > ul{gap:51px;}
.home .main-nav a,.home .nav-drop-toggle{font-weight:500;font-size:15px;opacity:1;color:#fff;}
.home .main-nav a:hover,.home .nav-drop-toggle:hover{color:var(--cyan);}
/* desktop-only: on mobile the dropdown sits inline on the dark nav panel and
   needs the light text colour from styles.css's mobile media query instead */
@media (min-width:961px){
  .home .main-nav .dropdown a{color:var(--charcoal);font-size:15px;}
  .home .main-nav .dropdown a:hover{background:var(--mint-pale);color:var(--green);}
}
.home .nav-drop-toggle{display:inline-flex;align-items:center;gap:9px;line-height:1;}
.home .caret{display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg);transition:transform .2s;flex:none;}
.home .has-dropdown.open .caret{transform:translateY(1px) rotate(-135deg);}
@media (min-width:961px){.home .has-dropdown:hover .caret{transform:translateY(1px) rotate(-135deg);}}
.home .nav-cta{margin-left:auto;height:40px;padding:0 45px;font-size:15px;font-weight:500;
  background:var(--violet);color:#fff;display:inline-flex;align-items:center;justify-content:center;
  line-height:1;text-box:trim-both cap alphabetic;border-radius:0;border:1px solid transparent;}
.home .nav-cta:hover{transform:none;background:#3D43E8;color:#fff;}

/* ---------- Hero ---------- */
.h-hero{position:relative;background:var(--charcoal);color:#fff;overflow:hidden;}
.h-hero .h-dots{position:absolute;top:0;bottom:0;left:calc(50% + 26px);right:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Crect width='4' height='4' fill='%235B5B5D'/%3E%3C/svg%3E");
  background-position:0 2px;}
.h-hero .h-in{min-height:680px;}
.h-hero-copy{position:relative;z-index:2;padding:87px 0 0 9.097%;width:44%;}
.h-hero h1{font-size:68px;line-height:69px;margin:0 0 12px;color:#fff;}
.h-hero-copy p{max-width:460px;color:#fff;margin-bottom:25px;}
.h-hero-btns{display:flex;flex-direction:column;align-items:flex-start;gap:31px;}
.h-hero-photo{position:absolute;z-index:2;left:61.806%;top:103px;width:30.07%;aspect-ratio:433/432;}
.h-hero-photo>img:first-child{width:100%;height:100%;object-fit:cover;}
/* Overlays the tile baked into the photo corner; placed relative to the photo so it stays aligned at every width. */
.h-hero-tile{position:absolute;z-index:3;left:-10.4%;top:80.6%;width:29.1%;height:auto;aspect-ratio:1;}

/* ---------- Eyebrow + H2 ---------- */
.h-eyebrow{display:block;font-weight:500;font-size:18px;line-height:24px;color:var(--violet);margin-bottom:18px;}
.h-h2{font-size:44px;line-height:46px;margin:0 0 18px;color:var(--charcoal);}

/* ---------- Judgement (grey) ---------- */
.h-judge{background:var(--grey);}
.h-judge .h-in{min-height:646px;display:flex;align-items:center;}
.h-judge-art{position:absolute;left:7.639%;top:120px;width:41.875%;}
.h-judge-art img{width:100%;height:auto;}
.h-judge-copy{margin-left:56.736%;width:36.5%;padding:40px 0;}
.h-judge-copy p{max-width:520px;}

/* ---------- Services intro ---------- */
.h-serv .h-in{min-height:456px;}
.h-serv-copy{padding:64px 0 60px 7.639%;width:45%;}
.h-serv-copy p{max-width:515px;}
.h-serv-photo{position:absolute;top:0;bottom:0;left:50.486%;right:0;}
.h-serv-photo img{width:100%;height:100%;object-fit:cover;}
@media (min-width:1441px){.h-serv-photo{right:calc((1440px - 100vw)/2);}}

/* ---------- Service blocks (accordions) ---------- */
.h-block-title{font-size:30px;line-height:34px;margin:0 0 20px;color:var(--charcoal);}
.h-block-intro{margin-bottom:38px;}
.home .accordion{gap:30px;}
.home .acc-item{background:var(--mint-pale);}
.home .acc-head{padding:38px 45px 0;gap:30px;font-family:inherit;}
.home .acc-titles{gap:2px;}
.home .acc-title{font-weight:500;font-size:22px;line-height:26px;color:var(--green);}
.home .acc-sub{font-weight:500;font-size:17px;line-height:22px;color:var(--violet);}
.home .acc-icon{width:38px;height:38px;margin-top:-4px;}
.home .acc-icon::before{left:0;top:18px;width:38px;height:2px;border-radius:0;background:var(--green);}
.home .acc-icon::after{left:18px;top:0;width:2px;height:38px;border-radius:0;background:var(--green);}
.home .acc-preview p,.home .acc-full p{color:var(--charcoal);padding:16px 45px 38px;max-width:none;}
.home .acc-preview p{max-width:none;}
.home .acc-preview p span.txt,.home .acc-full p span.txt{display:block;}
.home .read-more{color:var(--violet);font-weight:300;}
.home .detail-link{color:var(--violet);font-weight:500;}

.h-strata .h-in{min-height:838px;}
.h-strata-art{position:absolute;left:0;top:15px;width:35.486%;}
.h-strata-art img{width:100%;height:auto;}
.h-strata-copy{margin-left:37.153%;width:55.2%;padding-top:35px;}
.h-strata .acc-preview p,.h-strata .acc-full p{padding-right:160px;}

.h-dev .h-in{min-height:1026px;}
.h-dev-photo{position:absolute;left:0;top:0;width:49.514%;height:731px;}
.h-dev-photo > img:first-child{width:100%;height:100%;object-fit:cover;}
@media (min-width:1441px){.h-dev-photo{left:calc((1440px - 100vw)/2);width:calc(713px + (100vw - 1440px)/2);}}
.h-dev-tile{position:absolute;left:160px;bottom:-46px;width:124px;height:124px;}
.h-dev-copy{margin-left:53.681%;width:42.15%;padding-top:113px;}
.h-dev .acc-preview p,.h-dev .acc-full p{padding-right:150px;}

.h-tax .h-in{min-height:680px;}
.h-tax-copy{padding:50px 0 0 4.167%;width:42%;}
.h-tax-copy .h-block-title{margin-bottom:22px;}
.h-tax-lead{font-weight:500;color:var(--green);margin-bottom:14px !important;max-width:585px;}
.h-tax-copy p{max-width:590px;margin-bottom:14px;}
.h-tax-copy .hb{margin-top:10px;}
.h-tax-art{position:absolute;left:53.819%;top:0;width:39.03%;}
.h-tax-art img{width:100%;height:auto;}
.h-tax-art .h-tile{position:absolute;left:0;top:78.47%;width:22.42%;height:auto;}

/* ---------- Who it's for (dot field) ---------- */
.h-who{background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Crect width='4' height='4' fill='%23C4C4C4'/%3E%3C/svg%3E");
  background-size:24px 24px;background-position:calc(50% - 686px) 15px;}
.h-who .h-in{min-height:1281px;}
.h-who-panel{position:absolute;left:7.292%;top:150px;width:65.625%;height:906px;background:#fff;
  padding:22px 0 0 3.472%;}
.h-mega{font-size:44px;line-height:46px;margin:0 0 50px;color:var(--charcoal);}
.h-mega .u{text-decoration:underline;text-decoration-thickness:4px;text-underline-offset:7px;text-decoration-skip-ink:auto;}
.h-mega .u-violet{text-decoration-color:var(--violet);}
.h-mega .u-pink{text-decoration-color:var(--pink);}
.h-mega .u-green{text-decoration-color:var(--green);}
.h-mega .u-cyan{text-decoration-color:var(--cyan);}
.h-cols{display:grid;grid-template-columns:400px 400px;column-gap:43px;row-gap:90px;}
.h-cols h3{font-size:21px;line-height:26px;color:var(--green);margin:0 0 18px;}
.h-who-tile{position:absolute;left:69.028%;top:893px;width:126px;height:126px;z-index:2;}
.h-who-photo{position:absolute;left:7.639%;top:1056px;width:41.944%;height:371px;z-index:3;}
.h-who-photo img{width:100%;height:100%;object-fit:cover;}
.h-who-btn{position:absolute;left:54.861%;top:1147px;}

/* ---------- QS-led (green) ---------- */
.h-green{background:var(--green);color:var(--mint);}
.h-green .h-in{min-height:863px;}
.h-green-art{position:absolute;left:1.042%;top:240px;width:48.47%;}
.h-green-art img{width:100%;height:auto;}
.h-green-copy{margin-left:54.722%;width:38%;padding:124px 0 100px;}
.h-green .h-h2{color:var(--mint);margin-bottom:18px;}
.h-green p{margin-bottom:14px;max-width:540px;}
.h-green ul{margin:0 0 23px;padding:0 0 0 36px;max-width:540px;}
.h-green li::marker{color:var(--mint);}
.h-green strong{font-weight:500;}
.h-green-btns{display:flex;gap:15px;flex-wrap:wrap;}

/* ---------- How we work (dark) ---------- */
.h-how{background-color:var(--charcoal);border-top:1px solid #4D827A;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Crect width='4' height='4' fill='%234F4F53'/%3E%3C/svg%3E");
  background-size:24px 24px;background-position:calc(50% - 686px) 15px;color:var(--mint);}
.h-how .h-in{min-height:993px;}
.h-how-panel{position:absolute;left:3.472%;right:3.472%;top:115px;height:760px;background:var(--charcoal);
  padding:45px 0 0 3.82%;}
.h-how .h-eyebrow{color:var(--cyan);margin-bottom:14px;}
.h-how .h-h2{color:var(--mint);margin-bottom:14px;}
.h-how-intro{max-width:1070px;margin-bottom:54px !important;}
.h-steps{display:grid;grid-template-columns:repeat(3,390px);column-gap:30px;row-gap:47px;}
.h-step{border-top:2px solid var(--mint);padding:18px 70px 0 0;position:relative;min-height:202px;}
.h-step h3{font-size:28px;line-height:34px;color:var(--pink);margin:0 0 14px;}
.h-step p{max-width:310px;}
.h-step .h-step-arr{position:absolute;right:9px;top:90px;width:40px;height:36px;color:var(--pink);}

/* ---------- Contact ---------- */
.h-contact .h-in{min-height:836px;padding:76px 4.167% 0;}
.h-contact h2{font-size:44px;line-height:46px;color:#000;margin:0 0 60px;}
.h-contact-grid{display:grid;grid-template-columns:485px 1fr;column-gap:72px;}
.h-contact-left p{margin-bottom:14px;}
.h-contact-left h3{font-size:21px;line-height:29px;color:var(--green);margin:0 0 16px;}
.h-check{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:15px;}
.h-check li{display:flex;align-items:center;gap:15px;color:var(--green);}
.h-check svg{width:40px;height:40px;flex:none;}
.home .contact-form{gap:0;}
.home .field-row{gap:37px;}
.home .field{margin-bottom:36px;}
.home .field--area{margin-bottom:27px;}
.home .field input,.home .field select,.home .field textarea{font-family:inherit;font-weight:300;font-size:21px;
  line-height:29px;padding:0 0 10px;border-bottom:1px solid #B5B5B5;color:var(--charcoal);}
.home .field input::placeholder,.home .field textarea::placeholder{color:#B5B5B5;}
.home .field select{color:#B5B5B5;background-position:right 8px top 8px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='5'%3E%3Cpath d='M0 0h10L5 5z' fill='%23B5B5B5'/%3E%3C/svg%3E");}
.home .field select.filled{color:var(--charcoal);}
.home .field--area textarea{height:127px;resize:vertical;}
.home .field input:focus,.home .field select:focus,.home .field textarea:focus{border-color:var(--violet);}
.home .contact-form .hb{align-self:flex-start;margin-top:4px;}

/* ---------- Regions ---------- */
.h-regions{background-color:var(--mint);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Crect width='4' height='4' fill='%239FADAF'/%3E%3C/svg%3E");
  background-size:24px 24px;background-position:calc(50% - 686px) 1px;overflow:hidden;}
.h-regions .h-in{min-height:918px;}
.h-map{position:absolute;left:9.444%;top:430px;width:43.89%;}
.h-map img{width:100%;height:auto;}
.h-reg-card{position:absolute;left:42.708%;top:95px;width:654px;min-height:430px;background:#fff;padding:36px 45px 69px;}
.h-reg-card h2{font-size:44px;line-height:46px;margin:0 0 14px;color:var(--charcoal);}
.h-reg-card p{margin-bottom:25px;}
.h-reg-btns{display:flex;gap:15px;}
.h-reg-tile{position:absolute;left:467px;top:362px;width:126px;height:126px;}

/* ---------- Footer ---------- */
.home .site-footer{padding:60px 0 0;}
.home .site-footer .container{max-width:1440px;padding-inline:60px;}
.home .footer-wordmark{margin-bottom:56px;}
.home .footer-cols{grid-template-columns:repeat(4,1fr);gap:30px;}
.home .fcol h5{font-size:21px;line-height:29px;font-weight:500;color:var(--cyan);margin-bottom:6px;}
.home .fcol h5.mt{margin-top:30px;}
.home .fcol p{font-size:21px;line-height:35px;color:#fff;margin:0;font-weight:300;}
.home .fcol a:hover{color:var(--cyan);}
.home .footer-pattern{margin-top:60px;}
.home .footer-base{justify-content:center;border-top:1px solid #444;padding:24px 0 32px;
  color:#B3B3B3;font-size:14px;line-height:20px;margin-top:30px;}
.home .footer-base a:hover{color:#fff;}

/* ============ RESPONSIVE ============ */
@media (max-width:1280px){
  .h-cols{grid-template-columns:1fr 1fr;}
  .h-steps{grid-template-columns:repeat(3,minmax(0,1fr));}
  .h-contact-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);}
  .h-reg-card{width:52%;}
  .home .main-nav{position:static;margin-left:auto;margin-right:40px;}
  .home .main-nav > ul{gap:32px;}
}
@media (max-width:1100px){
  body.home{font-size:18px;line-height:26px;}
  .h-hero h1{font-size:52px;line-height:54px;}
  .h-h2,.h-mega,.h-contact h2,.h-reg-card h2{font-size:34px;line-height:38px;}
  .h-in{min-height:0 !important;}
  .h-hero .h-in{padding:60px 5% 80px;}
  .h-hero-copy{width:auto;padding:0;}
  .h-hero-photo{position:relative;left:auto;top:auto;width:70%;margin:48px 0 0 auto;}
  .h-hero .h-dots{left:0;opacity:.6;}
  .h-judge .h-in,.h-serv .h-in,.h-strata .h-in,.h-dev .h-in,.h-tax .h-in,.h-green .h-in{display:flex;flex-direction:column;padding:60px 5%;gap:40px;}
  .h-judge-art,.h-strata-art,.h-tax-art,.h-green-art,.h-serv-photo,.h-dev-photo{position:relative;left:auto;top:auto;right:auto;bottom:auto;width:100%;height:auto;}
  .h-judge-copy,.h-serv-copy,.h-strata-copy,.h-dev-copy,.h-tax-copy,.h-green-copy{margin:0;width:auto;padding:0;}
  .h-serv-photo img,.h-dev-photo > img:first-child{height:380px;}
  .h-dev-tile{bottom:-30px;left:10%;width:96px;height:96px;}
  .h-strata-art{max-width:420px;}
  .h-tax-art{max-width:520px;}
  .home .acc-head{padding:28px 28px 0;}
  .home .acc-preview p,.home .acc-full p,.h-strata .acc-preview p,.h-strata .acc-full p,
  .h-dev .acc-preview p,.h-dev .acc-full p{padding:14px 28px 28px;}
  .h-who .h-in{padding:60px 5%;}
  .h-who-panel{position:relative;left:auto;top:auto;width:auto;height:auto;padding:36px 28px 40px;}
  .h-who-tile{position:relative;left:auto;top:auto;margin:-40px 20px 0 auto;display:block;width:96px;height:96px;}
  .h-who-photo{position:relative;left:auto;top:auto;width:100%;height:320px;margin-top:24px;}
  .h-who-btn{position:relative;left:auto;top:auto;margin-top:24px;}
  .h-how .h-in{padding:60px 5%;}
  .h-how-panel{position:relative;left:auto;right:auto;top:auto;height:auto;padding:36px 28px;}
  .h-steps{grid-template-columns:1fr 1fr;}
  .h-contact .h-in{padding:60px 5%;}
  .h-contact-grid{grid-template-columns:1fr;row-gap:40px;}
  .h-regions .h-in{padding:60px 5%;display:flex;flex-direction:column-reverse;gap:40px;}
  .h-reg-card{position:relative;left:auto;top:auto;width:auto;min-height:0;padding:36px 28px 60px;}
  .h-reg-tile{left:auto;right:20px;top:auto;bottom:-40px;width:96px;height:96px;}
  .h-map{position:relative;left:auto;top:auto;width:80%;margin:0 auto;}
  .home .footer-cols{grid-template-columns:1fr 1fr;row-gap:36px;}
  .home .site-footer .container{padding-inline:5%;}
  .home .nav-inner{padding:0 5%;}
}
@media (max-width:960px){
  .home .main-nav{margin:0;}
  .home .nav-cta{display:none;}
  .home .site-header.open .main-nav{position:absolute;left:0;}
  .home .site-header.open .main-nav .dropdown a{padding-left:24px;}
}
@media (max-width:640px){
  .h-hero h1{font-size:42px;line-height:44px;}
  .h-h2,.h-mega,.h-contact h2,.h-reg-card h2{font-size:29px;line-height:33px;}
  .h-mega br,.h-contact h2 br,.h-reg-card h2 br{display:none;}
  .h-cols,.h-steps,.home .footer-cols{grid-template-columns:1fr;}
  .h-hero-photo{width:100%;}
  .h-reg-btns,.h-green-btns{flex-direction:column;align-items:flex-start;}
  .home .footer-base{flex-direction:column;align-items:center;gap:6px;}
  .home .hb{white-space:normal;height:auto;min-height:49px;padding:12px 22px;}
}
