:root{
  --font-heading:"Kanit",Arial,sans-serif;
  --font-body:"DM Sans",Arial,sans-serif;

  --navy-950:#111927;
  --navy-900:#192437;
  --navy-800:#223044;
  --navy-700:#2B394C;

  --gold-700:#765D3B;
  --gold-600:#8E7248;
  --gold-500:#AC8C5B;
  --gold-300:#D6BF97;
  --gold-100:#F4EEE4;

  --white:#FFFFFF;
  --soft:#F4F5F4;
  --warm:#FAF8F4;

  --body:#344258;
  --muted:#667085;
  --dark-body:#CDD5DD;
  --dark-muted:#AEB9C3;

  --border:#D8DEE3;
  --border-soft:#E6EAED;
  --border-strong:#C6CFD7;

  --container:77.5rem;
  --gutter:clamp(1rem,4vw,2.5rem);
  --section-y:clamp(4rem,7vw,5.75rem);
  --header-h:4.5rem;

  --radius-card:.25rem;
  --radius-button:.5rem;
  --radius-feature:clamp(1.15rem,2vw,1.6rem);

  --shadow-soft:0 12px 32px rgba(17,25,39,.08);
  --shadow-feature:0 22px 55px rgba(17,25,39,.12);
  --transition:180ms ease;
}

*,*::before,*::after{box-sizing:border-box}

html{
  scroll-behavior:smooth;
  color-scheme:light;
}

body{
  margin:0;
  background:var(--white);
  color:var(--body);
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

body.no-scroll{overflow:hidden}

img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
}

a{color:inherit}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}

:focus-visible{
  outline:3px solid var(--gold-500);
  outline-offset:3px;
}

::selection{
  background:var(--gold-100);
  color:var(--navy-900);
}

.skip-link{
  position:fixed;
  z-index:5000;
  top:.75rem;
  left:.75rem;
  transform:translateY(-180%);
  padding:.7rem 1rem;
  border-radius:var(--radius-button);
  background:var(--white);
  color:var(--navy-950);
  font-weight:700;
  text-decoration:none;
  box-shadow:var(--shadow-soft);
  transition:transform var(--transition);
}
.skip-link:focus{transform:translateY(0)}

.container{
  width:min(calc(100% - (2 * var(--gutter))),var(--container));
  margin-inline:auto;
}

.section{padding-block:var(--section-y)}
.surface-soft{background:var(--soft)}
.surface-warm{background:var(--warm)}

.eyebrow{
  margin:0 0 .65rem;
  color:var(--gold-700);
  font-size:clamp(.72rem,1.4vw,.8rem);
  font-weight:700;
  line-height:1.3;
  letter-spacing:.11em;
  text-transform:uppercase;
}

h1,h2,h3,h4{
  margin:0;
  color:var(--navy-900);
  font-family:var(--font-heading);
  font-weight:600;
  line-height:1.08;
  text-wrap:balance;
  overflow-wrap:break-word;
}

h1{
  font-size:clamp(2.45rem,10vw,4.65rem);
  line-height:1.02;
  letter-spacing:-.012em;
}

h2{font-size:clamp(2rem,7vw,2.7rem)}
h3{
  font-size:clamp(1.28rem,4vw,1.6rem);
  line-height:1.18;
}

p{margin:0}

.lead{
  color:var(--muted);
  font-size:clamp(1rem,2.5vw,1.125rem);
  line-height:1.75;
}

.section-intro{
  display:grid;
  gap:1.25rem;
  margin-bottom:clamp(2rem,5vw,3.25rem);
}
.section-intro h2{max-width:19ch}
.section-intro .lead{max-width:61ch}

.button-row{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
}

.btn{
  min-height:3rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  padding:.75rem 1.15rem;
  border:1px solid transparent;
  border-radius:var(--radius-button);
  font-weight:700;
  line-height:1.2;
  text-decoration:none;
  transition:
    transform var(--transition),
    background-color var(--transition),
    border-color var(--transition),
    color var(--transition);
}
.btn:hover{transform:translateY(-1px)}

.btn-gold{
  background:var(--gold-500);
  border-color:var(--gold-500);
  color:var(--navy-950);
}
.btn-gold:hover{
  background:var(--gold-300);
  border-color:var(--gold-300);
}

.btn-ghost-light{
  background:rgba(255,255,255,.035);
  border-color:rgba(255,255,255,.50);
  color:var(--white);
}
.btn-ghost-light:hover{
  background:rgba(255,255,255,.08);
  border-color:var(--gold-300);
}

.link-arrow{
  min-height:2.75rem;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  color:var(--navy-900);
  font-size:.9rem;
  font-weight:700;
  text-decoration:none;
}
.link-arrow::after{
  content:"→";
  transition:transform var(--transition);
}
.link-arrow:hover{color:var(--gold-700)}
.link-arrow:hover::after{transform:translateX(.2rem)}

.site-header{
  position:fixed;
  z-index:1000;
  inset:0 0 auto;
  border-bottom:1px solid transparent;
  transition:
    background-color var(--transition),
    border-color var(--transition),
    box-shadow var(--transition);
}

.site-header.is-scrolled,
.site-header.is-open{
  background:rgba(17,25,39,.97);
  border-color:rgba(255,255,255,.09);
  box-shadow:0 10px 32px rgba(0,0,0,.16);
  backdrop-filter:blur(12px);
}

.header-inner{
  min-height:var(--header-h);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}

.brand{
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  color:var(--white);
  text-decoration:none;
}

.brand-symbol{
  position:relative;
  width:2.2rem;
  height:2rem;
  flex:0 0 auto;
}
.brand-symbol::before,
.brand-symbol::after{
  content:"";
  position:absolute;
  top:.15rem;
  width:.68rem;
  height:1.65rem;
  transform:skewX(-24deg);
}
.brand-symbol::before{left:.25rem;background:var(--gold-500)}
.brand-symbol::after{right:.25rem;background:var(--white)}

.brand-word{
  font-family:var(--font-heading);
  font-size:1.05rem;
  line-height:.95;
  letter-spacing:.05em;
}
.brand-word small{
  display:block;
  margin-top:.36rem;
  color:var(--gold-300);
  font:700 .48rem/1 var(--font-body);
  letter-spacing:.22em;
}

.menu-toggle{
  width:3rem;
  height:3rem;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.35);
  border-radius:var(--radius-button);
  background:rgba(17,25,39,.2);
  color:var(--white);
  cursor:pointer;
}
.menu-toggle svg{width:1.35rem;height:1.35rem}

.primary-nav{
  position:fixed;
  inset:var(--header-h) 0 0;
  display:none;
  overflow-y:auto;
  padding:1rem var(--gutter) 2rem;
  background:var(--navy-950);
}
.site-header.is-open .primary-nav{display:block}

.nav-list{
  width:min(100%,var(--container));
  margin:0 auto;
  padding:0;
  list-style:none;
}
.nav-item{border-bottom:1px solid rgba(255,255,255,.10)}

.nav-link,
.nav-services-toggle{
  min-height:3.55rem;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.92);
  font-weight:600;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
}
.nav-link:hover,
.nav-services-toggle:hover{color:var(--gold-300)}

.nav-services-toggle svg{
  width:1rem;
  transition:transform var(--transition);
}
.nav-services-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}

.services-menu{
  display:none;
  padding:.25rem 0 1rem;
}
.services-menu.is-open{display:block}
.services-menu a{
  min-height:2.85rem;
  display:flex;
  align-items:center;
  padding:.4rem .85rem;
  border-left:1px solid rgba(255,255,255,.13);
  color:#BCC6D0;
  font-size:.86rem;
  text-decoration:none;
}
.services-menu a:hover{
  border-left-color:var(--gold-300);
  color:var(--white);
}

.nav-cta{
  width:100%;
  margin-top:1rem;
}

.hero{
  min-height:45rem;
  position:relative;
  display:grid;
  align-items:center;
  isolation:isolate;
  overflow:hidden;
  background:var(--navy-950);
}

.hero-media{
  position:absolute;
  z-index:-3;
  inset:0;
}
.hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.hero::before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:0;
  background:linear-gradient(
    180deg,
    rgba(17,25,39,.56) 0%,
    rgba(17,25,39,.72) 55%,
    rgba(17,25,39,.93) 100%
  );
}
.hero::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:radial-gradient(
    circle at 50% 30%,
    rgba(17,25,39,.02),
    rgba(17,25,39,.28) 65%,
    rgba(17,25,39,.46) 100%
  );
}

.hero-inner{
  padding:8.75rem 0 6.25rem;
  text-align:center;
}
.hero .eyebrow{color:var(--gold-300)}
.hero h1{
  max-width:17ch;
  margin-inline:auto;
  color:var(--white);
}
.hero-copy{
  max-width:46rem;
  margin:1.25rem auto 0;
  color:rgba(255,255,255,.84);
  font-size:clamp(1rem,3vw,1.17rem);
  line-height:1.72;
}
.hero .button-row{
  justify-content:center;
  margin-top:1.9rem;
}

.about-feature{
  display:grid;
  gap:1.6rem;
  align-items:stretch;
}
.about-feature-copy{align-self:center}
.about-feature-copy h2{max-width:20ch}
.about-feature-copy .lead{
  max-width:61ch;
  margin-top:1rem;
}
.about-feature-copy .body-copy{
  max-width:64ch;
  margin-top:.95rem;
}
.about-feature-copy .link-arrow{margin-top:1.15rem}

.about-feature-media{
  min-height:19rem;
  position:relative;
  overflow:hidden;
  border:1px solid var(--border);
  background:var(--navy-900);
}
.about-feature-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.about-feature-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(17,25,39,.02) 45%,rgba(17,25,39,.38) 100%);
}
.about-feature-caption{
  position:absolute;
  z-index:2;
  right:1rem;
  bottom:.9rem;
  left:1rem;
  display:flex;
  align-items:center;
  gap:.65rem;
  color:rgba(255,255,255,.92);
  font-size:.73rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.about-feature-caption::before{
  content:"";
  width:2rem;
  height:1px;
  background:var(--gold-300);
}

.group-directory{
  margin-top:clamp(1.8rem,4vw,2.6rem);
  border-top:1px solid var(--border-strong);
}
.group-route{
  padding:1.25rem 0 1.35rem;
  border-bottom:1px solid var(--border);
}
.group-route-kicker{
  display:block;
  margin-bottom:.65rem;
  color:var(--gold-700);
  font-family:var(--font-heading);
  font-size:.75rem;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.group-route h3{font-size:1.12rem}
.group-route p{
  max-width:40ch;
  margin-top:.4rem;
  color:var(--muted);
  font-size:.86rem;
  line-height:1.6;
}
.group-route .link-arrow{
  margin-top:.6rem;
  font-size:.8rem;
}

.services-heading{
  max-width:54rem;
  margin:0 auto clamp(2rem,5vw,3rem);
  text-align:center;
}
.services-heading .eyebrow,
.services-heading h2,
.services-heading .lead{
  margin-inline:auto;
}
.services-heading h2{max-width:21ch}
.services-heading .lead{
  max-width:60ch;
  margin-top:1rem;
}
.services-heading-actions{
  display:flex;
  justify-content:center;
  margin-top:.7rem;
}

.service-card-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1rem;
}

.service-card{
  min-width:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:var(--radius-card);
  background:var(--white);
  transition:
    transform var(--transition),
    border-color var(--transition),
    box-shadow var(--transition);
}
.service-card:hover,
.service-card:focus-within{
  transform:translateY(-2px);
  border-color:var(--border-strong);
  box-shadow:var(--shadow-soft);
}

.service-card-media{
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--soft);
}
.service-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 280ms ease;
}
.service-card:hover .service-card-media img,
.service-card:focus-within .service-card-media img{
  transform:scale(1.025);
}

.service-card-body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:1.2rem;
}
.service-card-number{
  display:block;
  margin-bottom:.65rem;
  color:var(--gold-700);
  font-size:.72rem;
  font-weight:800;
  line-height:1.3;
  letter-spacing:.09em;
}
.service-card h3{font-size:clamp(1.2rem,3.5vw,1.48rem)}
.service-card p:not(.eyebrow){
  margin-top:.65rem;
  color:var(--muted);
  font-size:.87rem;
  line-height:1.62;
}
.service-card .link-arrow{
  margin-top:auto;
  padding-top:.75rem;
  font-size:.8rem;
}

.industries-head{
  display:grid;
  gap:1.2rem;
  margin-bottom:clamp(2rem,5vw,3rem);
}
.industries-head-main h2{max-width:20ch}
.industries-head-side .lead{max-width:48ch}
.industries-head-side .link-arrow{margin-top:.65rem}

.industries-mosaic{
  display:grid;
  gap:.85rem;
}
.industry-tile{
  min-height:17rem;
  position:relative;
  display:flex;
  align-items:flex-end;
  isolation:isolate;
  overflow:hidden;
  border:1px solid var(--border-strong);
  border-radius:var(--radius-card);
  background:var(--navy-900);
}
.industry-tile img{
  position:absolute;
  z-index:-3;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 320ms ease;
}
.industry-tile::after{
  content:"";
  position:absolute;
  z-index:-2;
  inset:0;
  background:linear-gradient(
    180deg,
    rgba(17,25,39,.04) 12%,
    rgba(17,25,39,.20) 48%,
    rgba(17,25,39,.90) 100%
  );
}
.industry-tile:hover img,
.industry-tile:focus-within img{transform:scale(1.025)}

.industry-tile-content{
  width:100%;
  padding:1.2rem;
}
.industry-tile-content h3{
  max-width:24ch;
  color:var(--white);
  font-size:clamp(1.15rem,3vw,1.4rem);
}
.industry-tile-content p{
  max-width:42ch;
  margin-top:.4rem;
  color:#D1D8DF;
  font-size:.84rem;
  line-height:1.55;
}
.industry-tile--primary{min-height:25rem}
.industry-tile--primary .industry-tile-content{padding:1.4rem}
.industry-tile--primary .industry-tile-content h3{
  font-size:clamp(1.45rem,5vw,1.85rem);
}

.industries-continuation{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:.85rem;
  margin-top:.85rem;
}

@media (min-width:40rem){
  .industries-continuation{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (min-width:70rem){
  .industries-continuation{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1rem;
    margin-top:1rem;
  }

  .industries-continuation .industry-tile{
    min-height:calc((40rem - 1rem)/2);
  }
}

.why-layout{
  display:grid;
  gap:0;
  border:1px solid rgba(25,36,55,.12);
  background:var(--white);
}
.why-intro{
  padding:1.5rem;
  background:var(--navy-900);
}
.why-intro .eyebrow{color:var(--gold-300)}
.why-intro h2{color:var(--white)}
.why-intro p{
  margin-top:1rem;
  color:var(--dark-body);
}
.why-grid{
  display:grid;
  gap:1px;
  background:var(--border);
}
.why-item{
  min-height:13rem;
  padding:1.3rem;
  background:var(--white);
}
.why-number{
  display:block;
  margin-bottom:1.15rem;
  color:var(--gold-700);
  font-family:var(--font-heading);
  font-size:.82rem;
  letter-spacing:.08em;
}
.why-item h3{font-size:1.1rem}
.why-item p{
  margin-top:.45rem;
  color:var(--muted);
  font-size:.87rem;
  line-height:1.62;
}

.process{
  position:relative;
  overflow:hidden;
  background:var(--navy-950);
  color:var(--dark-body);
}
.process::before{
  content:"";
  position:absolute;
  width:28rem;
  height:28rem;
  top:-16rem;
  right:-12rem;
  border:1px solid rgba(214,191,151,.12);
  border-radius:50%;
}
.process .eyebrow{color:var(--gold-300)}
.process h2{color:var(--white)}
.process .lead{color:var(--dark-body)}

.process-grid{
  display:grid;
  gap:1rem;
  margin-top:2.3rem;
}
.process-step{
  position:relative;
  padding:1.25rem;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.035);
}
.process-number{
  display:inline-flex;
  margin-bottom:1.15rem;
  color:var(--gold-300);
  font-family:var(--font-heading);
  font-size:.86rem;
  letter-spacing:.08em;
}
.process-step h3{
  color:var(--white);
  font-size:1.18rem;
}
.process-step p{
  margin-top:.5rem;
  color:var(--dark-muted);
  font-size:.87rem;
  line-height:1.62;
}

.commitment-layout{
  display:grid;
  overflow:hidden;
  border:1px solid var(--border);
  background:var(--white);
}
.commitment-media{
  min-height:22rem;
  position:relative;
  background:var(--navy-900);
}
.commitment-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.commitment-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(17,25,39,.02),rgba(17,25,39,.36));
}
.commitment-copy{padding:1.55rem 1.25rem 1.75rem}
.commitment-copy h2{max-width:18ch}
.commitment-copy .lead{margin-top:1rem}
.commitment-points{
  display:grid;
  gap:.75rem;
  margin-top:1.35rem;
}
.commitment-point{
  padding:1rem 0 0 1rem;
  border-top:1px solid var(--border);
  border-left:2px solid var(--gold-500);
}
.commitment-point strong{
  display:block;
  color:var(--navy-900);
}
.commitment-point span{
  display:block;
  margin-top:.22rem;
  color:var(--muted);
  font-size:.86rem;
  line-height:1.55;
}

.saudi-layout{
  display:grid;
  overflow:hidden;
  border:1px solid rgba(17,25,39,.10);
  background:var(--navy-900);
}
.saudi-copy{
  padding:1.7rem 1.3rem 1.9rem;
  background:var(--navy-900);
  color:var(--dark-body);
}
.saudi-copy .eyebrow{color:var(--gold-300)}
.saudi-copy h2{
  max-width:18ch;
  color:var(--white);
}
.saudi-copy .lead{
  margin-top:1rem;
  color:var(--dark-body);
}
.saudi-copy .body-copy{
  margin-top:.9rem;
  color:var(--dark-muted);
}
.saudi-note{
  margin-top:1.35rem;
  padding:1rem 1.1rem;
  border-left:3px solid var(--gold-600);
  background:var(--gold-100);
  color:var(--navy-800);
  font-size:clamp(.9rem,1.2vw,.96rem);
  font-weight:500;
  line-height:1.65;
}
.saudi-media{
  min-height:21rem;
  position:relative;
  background:var(--navy-950);
}
.saudi-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.saudi-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(17,25,39,.03),rgba(17,25,39,.28));
}

.final-cta{
  padding-block:clamp(3.5rem,7vw,5rem);
  background:var(--white);
  color:var(--navy-950);
}
.final-cta-shell{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(118,93,59,.20);
  border-radius:var(--radius-feature);
  background:linear-gradient(135deg,#DFC99F 0%,#D2B37F 52%,#C59B64 100%);
  box-shadow:var(--shadow-feature);
  isolation:isolate;
}
.final-cta-shell::before,
.final-cta-shell::after{
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  pointer-events:none;
}
.final-cta-shell::before{
  width:22rem;
  height:22rem;
  top:-15rem;
  left:-7rem;
  background:radial-gradient(circle,rgba(255,255,255,.30),rgba(255,255,255,0) 70%);
}
.final-cta-shell::after{
  width:27rem;
  height:27rem;
  right:-14rem;
  bottom:-19rem;
  background:radial-gradient(circle,rgba(17,25,39,.13),rgba(17,25,39,0) 72%);
}
.final-cta-inner{
  display:grid;
  gap:1.75rem;
  padding:clamp(1.75rem,6vw,3rem);
}
.final-cta .eyebrow{color:rgba(17,25,39,.72)}
.final-cta h2{
  max-width:none;
  color:var(--navy-950);
  font-size:clamp(2rem,6.5vw,2.75rem);
}
.final-cta p{
  max-width:66ch;
  margin-top:.9rem;
  color:rgba(17,25,39,.80);
}
.final-cta-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:.8rem;
  align-content:center;
}
.final-cta-action{
  width:100%;
  min-height:3.35rem;
  justify-content:space-between;
  padding-inline:1rem;
  border-radius:.8rem;
}
.final-cta-action-primary{
  background:var(--navy-900);
  border-color:var(--navy-900);
  color:var(--white);
}
.final-cta-action-primary:hover{
  background:var(--navy-950);
  border-color:var(--navy-950);
}
.final-cta-action-secondary{
  background:rgba(255,255,255,.92);
  border-color:rgba(17,25,39,.12);
  color:var(--navy-900);
}
.final-cta-action-secondary:hover{
  background:var(--white);
  border-color:rgba(17,25,39,.22);
}

.site-footer{
  background:var(--navy-950);
  color:var(--dark-muted);
}
.footer-main{
  display:grid;
  gap:2.2rem;
  padding-block:3.5rem 2.5rem;
}
.footer-brand-copy{
  max-width:31ch;
  margin-top:1rem;
  color:#97A5B3;
  font-size:.88rem;
  line-height:1.62;
}
.footer-title{
  margin:0 0 .85rem;
  color:var(--white);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.footer-links,
.footer-contact{
  margin:0;
  padding:0;
  list-style:none;
}
.footer-links li,
.footer-contact li{
  margin:.48rem 0;
  font-size:.86rem;
  line-height:1.56;
}
.footer-links a,
.footer-contact a{
  min-height:2.4rem;
  display:inline-flex;
  align-items:center;
  color:var(--dark-muted);
  text-decoration:none;
}
.footer-links a:hover,
.footer-contact a:hover{color:var(--gold-300)}

.footer-bottom{
  display:flex;
  flex-direction:column;
  gap:.35rem;
  padding-block:1.05rem;
  border-top:1px solid rgba(255,255,255,.1);
  color:#7F8C99;
  font-size:.72rem;
}

@media (min-width:40rem){
  :root{--header-h:4.75rem}

  .section-intro{
    grid-template-columns:1fr 1fr;
    align-items:end;
  }

  .service-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1.15rem;
  }

  .industries-mosaic{
    grid-template-columns:1fr 1fr;
  }
  .industry-tile--primary{
    grid-column:1/-1;
    min-height:28rem;
  }

  .why-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .process-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .commitment-points{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .footer-main{
    grid-template-columns:1.35fr 1fr;
  }

  .footer-bottom{
    flex-direction:row;
    justify-content:space-between;
  }
}

@media (min-width:56rem){
  .about-feature{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(2.5rem,5vw,4.5rem);
  }

  .about-feature-media{
    min-height:100%;
  }

  .group-directory{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-bottom:1px solid var(--border);
  }

  .group-route{
    min-height:14rem;
    padding:1.45rem 1.2rem;
    border-right:1px solid var(--border);
    border-bottom:0;
  }
  .group-route:first-child{padding-left:0}
  .group-route:last-child{
    padding-right:0;
    border-right:0;
  }
}

@media (min-width:62rem){
  :root{--section-y:clamp(5rem,6.4vw,6rem)}

  .industries-head{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:end;
    gap:clamp(2.5rem,6vw,5rem);
  }

  .why-layout{
    grid-template-columns:.78fr 1.22fr;
  }
  .why-intro{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:clamp(2rem,4vw,3.3rem);
  }
  .why-item{
    min-height:14rem;
    padding:1.6rem;
  }

  .process-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;
    border-top:1px solid rgba(255,255,255,.14);
    border-bottom:1px solid rgba(255,255,255,.14);
  }
  .process-step{
    min-height:18rem;
    padding:1.7rem 1.45rem;
    border:0;
    border-right:1px solid rgba(255,255,255,.14);
    background:transparent;
  }
  .process-step:last-child{border-right:0}

  .commitment-layout{
    min-height:34rem;
    grid-template-columns:.95fr 1.05fr;
  }
  .commitment-media{min-height:100%}
  .commitment-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:clamp(2.4rem,5vw,4.25rem);
  }

  .saudi-layout{
    min-height:31rem;
    grid-template-columns:.9fr 1.1fr;
  }
  .saudi-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:clamp(2.3rem,5vw,4rem);
  }
  .saudi-media{
    min-height:100%;
    order:2;
  }

  .final-cta-inner{
    grid-template-columns:minmax(0,7fr) minmax(15.5rem,3fr);
    align-items:center;
    gap:clamp(2.5rem,5vw,4.5rem);
    padding:clamp(2.75rem,4.2vw,3.8rem);
  }
  .final-cta-actions{
    grid-template-columns:1fr;
    gap:.85rem;
  }
  .final-cta-action{min-height:3.55rem}

  .footer-main{
    grid-template-columns:1.35fr .78fr 1fr 1.1fr;
    gap:3rem;
  }
}

@media (min-width:64rem){
  .menu-toggle{display:none}

  .primary-nav{
    position:static;
    display:block;
    overflow:visible;
    padding:0;
    background:transparent;
  }

  .nav-list{
    width:auto;
    display:flex;
    align-items:center;
    gap:.12rem;
  }

  .nav-item{
    position:relative;
    border:0;
  }

  .nav-link,
  .nav-services-toggle{
    min-height:2.9rem;
    width:auto;
    padding-inline:.62rem;
    font-size:.8rem;
  }

  .nav-services-toggle{gap:.3rem}

  .services-menu{
    width:22rem;
    position:absolute;
    top:calc(100% + .45rem);
    left:50%;
    transform:translateX(-50%);
    padding:.55rem;
    border:1px solid rgba(255,255,255,.09);
    background:var(--navy-950);
    box-shadow:0 20px 55px rgba(0,0,0,.22);
  }

  .services-menu a{
    min-height:2.65rem;
    padding:.55rem .7rem;
    border-left:0;
    border-bottom:1px solid rgba(255,255,255,.07);
  }
  .services-menu a:last-child{border-bottom:0}
  .services-menu a:hover{background:rgba(255,255,255,.055)}

  .nav-cta{
    width:auto;
    margin:0 0 0 .45rem;
    padding-inline:.9rem;
  }

  .hero{
    min-height:min(55rem,95vh);
  }
  .hero-inner{
    padding:9rem 0 7.5rem;
  }
}

@media (min-width:68.75rem){
  .service-card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1.25rem;
  }
  .service-card-body{padding:1.35rem}
}

@media (min-width:70rem){
  .industries-mosaic{
    height:40rem;
    grid-template-columns:1.18fr .86fr .86fr;
    grid-template-rows:1fr 1fr;
    gap:1rem;
  }

  .industry-tile{min-height:0}

  .industry-tile--primary{
    min-height:0;
    grid-column:1;
    grid-row:1/3;
  }

  .industry-tile:nth-child(2){grid-column:2;grid-row:1}
  .industry-tile:nth-child(3){grid-column:3;grid-row:1}
  .industry-tile:nth-child(4){grid-column:2;grid-row:2}
  .industry-tile:nth-child(5){grid-column:3;grid-row:2}

  .industry-tile-content{padding:1.25rem 1.35rem}
  .industry-tile--primary .industry-tile-content{padding:1.65rem}
}

@media (min-width:80rem){
  .nav-list{gap:.35rem}
  .nav-link,
  .nav-services-toggle{padding-inline:.75rem}
  .hero h1{font-size:4.65rem}
  .industry-tile-content{padding:1.35rem 1.45rem}
}

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

.page-hero{
  min-height:clamp(17rem,28vw,21rem);
  position:relative;
  display:grid;
  align-items:stretch;
  padding-top:var(--header-h);
  isolation:isolate;
  overflow:hidden;
  background:var(--navy-950);
}
.page-hero-media{
  position:absolute;
  z-index:-3;
  inset:0;
}
.page-hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 48%;
}
.page-hero::before{
  content:"";
  position:absolute;
  z-index:-2;
  inset:0;
  background:
    linear-gradient(90deg,rgba(17,25,39,.90) 0%,rgba(17,25,39,.70) 54%,rgba(17,25,39,.48) 100%);
}
.page-hero::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(180deg,rgba(17,25,39,.08),rgba(17,25,39,.38));
}
.page-hero-inner{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding-block:clamp(2.75rem,5vw,4rem);
  text-align:left;
}
.breadcrumb{
  width:100%;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.45rem;
  margin:0 0 .8rem;
  padding:0;
  list-style:none;
  color:rgba(255,255,255,.68);
  font-size:.8rem;
  justify-content:flex-start;
  text-align:left;
}
.breadcrumb li+li::before{
  content:"/";
  margin-right:.45rem;
  color:var(--gold-300);
}
.breadcrumb a{
  min-height:2rem;
  display:inline-flex;
  align-items:center;
  color:rgba(255,255,255,.78);
  text-decoration:none;
}
.breadcrumb a:hover{color:var(--gold-300)}
.page-hero h1{
  width:100%;
  max-width:none;
  color:var(--white);
  font-size:clamp(2.5rem,8vw,4rem);
  text-align:left;
}
.page-hero-copy{
  max-width:43rem;
  margin-top:.85rem;
  color:rgba(255,255,255,.78);
  font-size:clamp(.98rem,2.4vw,1.08rem);
}

.statement-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  border:1px solid var(--border);
  background:var(--border);
  gap:1px;
}
.statement-card{
  min-width:0;
  padding:clamp(1.5rem,5vw,2.5rem);
  background:var(--white);
}
.statement-card:first-child{
  background:var(--navy-900);
  color:var(--dark-body);
}
.statement-card:first-child .eyebrow{color:var(--gold-300)}
.statement-card:first-child h3{color:var(--white)}
.statement-card h3{
  max-width:21ch;
  font-size:clamp(1.55rem,4.5vw,2rem);
}
.statement-card p{
  max-width:58ch;
  margin-top:.9rem;
  color:var(--muted);
}
.statement-card:first-child p{color:var(--dark-body)}
.statement-note{
  display:block;
  margin-top:1rem;
  color:var(--body);
  font-size:.9rem;
  font-weight:500;
  line-height:1.6;
}
.statement-card:first-child .statement-note{color:var(--dark-muted)}

@media (min-width:40rem){
  .statement-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

.contact-layout{
  display:grid;
  gap:clamp(2rem,6vw,4rem);
  align-items:start;
}

.contact-intro h2{
  max-width:18ch;
}
.contact-intro .lead{
  max-width:60ch;
  margin-top:1rem;
}
.contact-intro .body-copy{
  max-width:66ch;
  margin-top:.9rem;
}

.contact-details{
  display:grid;
  margin-top:clamp(1.7rem,4vw,2.5rem);
  border-top:1px solid var(--border-strong);
}

.contact-detail{
  width:100%;
  display:grid;
  grid-template-columns:3.25rem minmax(0,1fr);
  column-gap:1rem;
  align-items:start;
  padding:1.15rem 0 1.2rem;
  border-bottom:1px solid var(--border);
}

.contact-detail-icon{
  width:3.25rem;
  height:3.25rem;
  display:grid;
  place-items:center;
  border:1px solid var(--border);
  border-radius:50%;
  background:var(--white);
  color:var(--gold-700);
}
.contact-detail-icon svg{
  width:1.18rem;
  height:1.18rem;
  fill:currentColor;
}

.contact-detail-body{
  width:100%;
  min-width:0;
  padding-top:.05rem;
}

.contact-detail-label{
  display:block;
  margin-bottom:.32rem;
  color:var(--gold-700);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.contact-detail-value{
  width:100%;
  max-width:none;
  color:var(--navy-900);
  font-size:1rem;
  line-height:1.6;
  overflow-wrap:normal;
  word-break:normal;
}

.contact-detail-address{
  max-width:38rem;
}

.contact-detail-value a{
  min-height:2.5rem;
  display:inline-flex;
  align-items:center;
  color:var(--navy-900);
  font-weight:600;
  text-decoration:none;
}
.contact-detail-value a:hover{
  color:var(--gold-700);
}

.form-panel{
  padding:clamp(1.35rem,4vw,2rem);
  border:1px solid var(--border);
  border-radius:var(--radius-card);
  background:var(--soft);
  box-shadow:var(--shadow-soft);
}
.form-panel h3{
  max-width:20ch;
}
.form-panel .lead{
  margin-top:.7rem;
  font-size:.96rem;
}
.form-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1rem;
  margin-top:1.4rem;
}
.form-field{
  min-width:0;
}
.form-field--full{
  grid-column:1/-1;
}
.form-label{
  display:inline-block;
  margin-bottom:.38rem;
  color:var(--navy-900);
  font-size:.82rem;
  font-weight:700;
}
.form-label .required{
  color:var(--gold-700);
}
.form-control{
  width:100%;
  min-height:3.15rem;
  padding:.78rem .9rem;
  border:1px solid var(--border-strong);
  border-radius:var(--radius-button);
  background:var(--white);
  color:var(--navy-900);
  font:inherit;
  line-height:1.4;
  transition:
    border-color var(--transition),
    box-shadow var(--transition),
    background-color var(--transition);
}
.form-control::placeholder{
  color:#8B96A4;
}
.form-control:hover{
  border-color:#AEB8C2;
}
.form-control:focus{
  outline:0;
  border-color:var(--gold-500);
  box-shadow:0 0 0 3px rgba(172,140,91,.16);
}
textarea.form-control{
  min-height:9.5rem;
  resize:vertical;
}
select.form-control{
  appearance:none;
  background-image:
    linear-gradient(45deg,transparent 50%,var(--navy-700) 50%),
    linear-gradient(135deg,var(--navy-700) 50%,transparent 50%);
  background-position:
    calc(100% - 1.05rem) calc(50% - .1rem),
    calc(100% - .72rem) calc(50% - .1rem);
  background-size:.35rem .35rem,.35rem .35rem;
  background-repeat:no-repeat;
  padding-right:2.4rem;
}
.form-actions{
  display:grid;
  gap:.65rem;
  margin-top:1.15rem;
}
.form-actions .btn{
  width:100%;
}
.form-note{
  color:var(--muted);
  font-size:.76rem;
  line-height:1.5;
}

.group-directory--two{
  grid-template-columns:minmax(0,1fr);
}

.faq-wrap{
  display:grid;
  gap:clamp(1.6rem,4vw,3rem);
  align-items:start;
}
.faq-intro h2{
  max-width:17ch;
}
.faq-intro .lead{
  margin-top:1rem;
  max-width:54ch;
}
.faq-list{
  border-top:1px solid var(--border-strong);
}
.faq-item{
  border-bottom:1px solid var(--border);
}
.faq-item summary{
  min-height:4.25rem;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:center;
  padding:.8rem 0;
  color:var(--navy-900);
  font-family:var(--font-heading);
  font-size:clamp(1rem,2.5vw,1.14rem);
  font-weight:600;
  line-height:1.3;
  cursor:pointer;
  list-style:none;
}
.faq-item summary::-webkit-details-marker{
  display:none;
}
.faq-item summary::after{
  content:"+";
  width:2rem;
  height:2rem;
  display:grid;
  place-items:center;
  border:1px solid var(--border);
  border-radius:50%;
  color:var(--gold-700);
  font-family:var(--font-body);
  font-size:1.15rem;
  font-weight:600;
  transition:
    transform var(--transition),
    border-color var(--transition);
}
.faq-item[open] summary::after{
  content:"−";
  border-color:var(--gold-500);
}
.faq-answer{
  max-width:70ch;
  padding:0 3rem 1.35rem 0;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.7;
}
.faq-answer p+p{
  margin-top:.7rem;
}
.faq-answer ul{
  margin:.7rem 0 0;
  padding-left:1.2rem;
}
.faq-answer li+li{
  margin-top:.25rem;
}
.faq-answer .link-arrow{
  margin-top:.55rem;
}

@media (min-width:40rem){
  .form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .group-directory--two{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (min-width:62rem){
  .contact-layout{
    grid-template-columns:minmax(0,.95fr) minmax(30rem,1.05fr);
    gap:clamp(3rem,5vw,4.75rem);
  }

  .faq-wrap{
    grid-template-columns:minmax(17rem,.72fr) minmax(0,1.28fr);
    gap:clamp(3rem,7vw,6rem);
  }

  .faq-intro{
    position:sticky;
    top:calc(var(--header-h) + 1.5rem);
  }
}

@media (min-width:75rem){
  .contact-layout{
    grid-template-columns:minmax(0,1fr) minmax(31rem,1fr);
  }

  .contact-detail{
    grid-template-columns:3.25rem minmax(0,1fr);
    column-gap:1.15rem;
    padding-block:1.2rem 1.25rem;
  }
}

.card-carousel{
  position:relative;
}
.card-carousel-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(17.5rem,82%);
  gap:1rem;
  overflow-x:auto;
  padding:.1rem 0 .75rem;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  overscroll-behavior-inline:contain;
}
.card-carousel-track > *{
  scroll-snap-align:start;
}
.card-carousel-track::-webkit-scrollbar{display:none}
.card-carousel-controls{
  display:flex;
  justify-content:flex-end;
  gap:.55rem;
  margin-bottom:1rem;
}
.carousel-button{
  width:2.8rem;
  height:2.8rem;
  display:grid;
  place-items:center;
  border:1px solid var(--border);
  border-radius:50%;
  background:var(--white);
  color:var(--navy-900);
  cursor:pointer;
  transition:
    background-color var(--transition),
    border-color var(--transition),
    color var(--transition);
}
.carousel-button:hover{
  border-color:var(--gold-500);
  color:var(--gold-700);
}
.carousel-button:disabled{
  opacity:.4;
  cursor:not-allowed;
}
.carousel-button svg{
  width:1.1rem;
  height:1.1rem;
  fill:currentColor;
}
.card-carousel .service-card{
  min-height:100%;
}

@media (min-width:40rem){
  .card-carousel-track{
    grid-auto-columns:minmax(19rem,48%);
  }
}

@media (min-width:70rem){
  .card-carousel-track{
    grid-auto-columns:minmax(20rem,31.5%);
  }
}
.feature-grid-five{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1px;
  margin-top:clamp(1.5rem,4vw,2.25rem);
  border:1px solid var(--border);
  background:var(--border);
}
.feature-grid-five > *{
  min-height:100%;
}
@media (min-width:40rem){
  .feature-grid-five{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (min-width:70rem){
  .feature-grid-five{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
  .feature-grid-five > :nth-child(-n+3){
    grid-column:span 2;
  }
  .feature-grid-five > :nth-child(n+4){
    grid-column:span 3;
  }
}
.interface-card-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1rem;
  margin-top:clamp(1.5rem,4vw,2.25rem);
}
.interface-card{
  min-width:0;
  display:grid;
  grid-template-columns:4.6rem minmax(0,1fr);
  gap:1rem;
  align-items:center;
  min-height:10.5rem;
  padding:1.15rem;
  border:1px solid var(--border);
  border-radius:.9rem;
  background:var(--white);
  transition:
    transform var(--transition),
    border-color var(--transition),
    box-shadow var(--transition);
}
.interface-card:hover{
  transform:translateY(-2px);
  border-color:var(--border-strong);
  box-shadow:var(--shadow-soft);
}
.interface-card-icon{
  width:4.6rem;
  height:4.6rem;
  display:grid;
  place-items:center;
  border-radius:.8rem;
  background:var(--gold-100);
  color:var(--gold-700);
}
.interface-card-icon svg{
  width:2rem;
  height:2rem;
}
.interface-card-copy h3{
  font-size:clamp(1.08rem,2.5vw,1.28rem);
  line-height:1.2;
}
.interface-card-copy p{
  margin-top:.45rem;
  color:var(--muted);
  font-size:.86rem;
  line-height:1.58;
}
.surface-soft .interface-card,
.surface-warm .interface-card{
  background:rgba(255,255,255,.94);
}
@media (min-width:40rem){
  .interface-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (min-width:68.75rem){
  .interface-card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1.15rem;
  }
  .interface-card{
    grid-template-columns:4.35rem minmax(0,1fr);
    min-height:11.5rem;
    padding:1.2rem;
  }
  .interface-card-icon{
    width:4.35rem;
    height:4.35rem;
  }
  .interface-card-grid--four{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .interface-card-grid--four .interface-card{
    grid-template-columns:1fr;
    align-content:start;
    min-height:15rem;
  }
  .interface-card-grid--four .interface-card-icon{
    width:4.5rem;
    height:4.5rem;
  }
}

/* WordPress / Elementor integration */
.elementor-widget-html .wattle-page{
  width:100%;
  max-width:none;
}
.elementor-widget-html .wattle-page,
.elementor-widget-html .wattle-page *{
  box-sizing:border-box;
}

/* Fluent Forms inside the existing Wattle contact form panel */
.wattle-fluent-form{
  margin-top:1.4rem;
}
.form-panel .fluentform{
  font-family:var(--font-body);
  color:var(--body);
}
.form-panel .fluentform .ff-el-group{
  margin-bottom:1rem;
}
.form-panel .fluentform .ff-el-input--label{
  margin-bottom:.38rem;
}
.form-panel .fluentform .ff-el-input--label label,
.form-panel .fluentform .ff-el-form-check-label{
  color:var(--navy-900);
  font-family:var(--font-body);
  font-size:.82rem;
  font-weight:700;
  line-height:1.45;
}
.form-panel .fluentform .ff-el-form-control{
  width:100%;
  min-height:3.15rem;
  padding:.78rem .9rem;
  border:1px solid var(--border-strong);
  border-radius:var(--radius-button);
  background:var(--white);
  color:var(--navy-900);
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.4;
  box-shadow:none;
  transition:
    border-color var(--transition),
    box-shadow var(--transition),
    background-color var(--transition);
}
.form-panel .fluentform .ff-el-form-control::placeholder{
  color:#8B96A4;
  opacity:1;
}
.form-panel .fluentform .ff-el-form-control:hover{
  border-color:#AEB8C2;
}
.form-panel .fluentform .ff-el-form-control:focus{
  outline:0;
  border-color:var(--gold-500);
  box-shadow:0 0 0 3px rgba(172,140,91,.16);
}
.form-panel .fluentform textarea.ff-el-form-control{
  min-height:9.5rem;
  resize:vertical;
}
.form-panel .fluentform select.ff-el-form-control{
  min-height:3.15rem;
}
.form-panel .fluentform .ff-btn-submit,
.form-panel .fluentform button[type="submit"],
.form-panel .fluentform input[type="submit"]{
  width:100%;
  min-height:3rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.75rem 1.15rem;
  border:1px solid var(--gold-500);
  border-radius:var(--radius-button);
  background:var(--gold-500);
  color:var(--navy-950);
  font-family:var(--font-body);
  font-size:1rem;
  font-weight:700;
  line-height:1.2;
  cursor:pointer;
  box-shadow:none;
  transition:
    transform var(--transition),
    background-color var(--transition),
    border-color var(--transition);
}
.form-panel .fluentform .ff-btn-submit:hover,
.form-panel .fluentform button[type="submit"]:hover,
.form-panel .fluentform input[type="submit"]:hover{
  transform:translateY(-1px);
  border-color:var(--gold-300);
  background:var(--gold-300);
  color:var(--navy-950);
}
.form-panel .fluentform .ff-el-is-error .ff-el-form-control{
  border-color:#B42318;
}
.form-panel .fluentform .error.text-danger,
.form-panel .fluentform .ff-el-is-error .text-danger{
  margin-top:.35rem;
  color:#B42318;
  font-size:.78rem;
  line-height:1.45;
}
.form-panel .fluentform .ff-message-success{
  padding:1rem;
  border:1px solid var(--gold-300);
  border-radius:var(--radius-button);
  background:var(--gold-100);
  color:var(--navy-900);
}
.form-panel .fluentform input[type="checkbox"],
.form-panel .fluentform input[type="radio"]{
  accent-color:var(--gold-600);
}


/* ================================================================
   Elementor image-cover compatibility
   Elementor applies height:auto to images inside widgets. These
   component images are intentionally cover media and must fill their
   allocated card / section area at every responsive breakpoint.
   ================================================================ */
.wattle-page .hero-media > img,
.wattle-page .page-hero-media > img,
.wattle-page .about-feature-media > img,
.wattle-page .service-card-media > img,
.wattle-page .industry-tile > img,
.wattle-page .commitment-media > img,
.wattle-page .saudi-media > img,
.elementor .wattle-page .hero-media > img,
.elementor .wattle-page .page-hero-media > img,
.elementor .wattle-page .about-feature-media > img,
.elementor .wattle-page .service-card-media > img,
.elementor .wattle-page .industry-tile > img,
.elementor .wattle-page .commitment-media > img,
.elementor .wattle-page .saudi-media > img{
  display:block;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover;
}

.wattle-page .hero-media > img,
.wattle-page .page-hero-media > img,
.wattle-page .about-feature-media > img,
.wattle-page .industry-tile > img,
.wattle-page .commitment-media > img,
.wattle-page .saudi-media > img,
.elementor .wattle-page .hero-media > img,
.elementor .wattle-page .page-hero-media > img,
.elementor .wattle-page .about-feature-media > img,
.elementor .wattle-page .industry-tile > img,
.elementor .wattle-page .commitment-media > img,
.elementor .wattle-page .saudi-media > img{
  position:absolute;
  inset:0;
}

/* Keep industry photography behind its gradient and copy without
   relying on negative stacking that page-builder wrappers can affect. */
.wattle-page .industry-tile > img,
.elementor .wattle-page .industry-tile > img{
  z-index:0;
}
.wattle-page .industry-tile::after,
.elementor .wattle-page .industry-tile::after{
  z-index:1;
}
.wattle-page .industry-tile-content,
.elementor .wattle-page .industry-tile-content{
  position:relative;
  z-index:2;
}

/* ========================================================================== */
/* WATTLE APPROVED HEADER + FOOTER — ELEMENTOR / ROYAL ELEMENTOR KIT         */
/* ========================================================================== */

/* Approved transparent-to-white sticky header */
:root{
      --wattle-navy-950:#111927;
      --wattle-navy-900:#192437;
      --wattle-navy-800:#223044;
      --wattle-navy-700:#2B394C;
      --wattle-navy-600:#334155;
      --wattle-gold-700:#765D3B;
      --wattle-gold-600:#8E7248;
      --wattle-gold-500:#AC8C5B;
      --wattle-gold-300:#D6BF97;
      --wattle-gold-100:#F4EEE4;
      --wattle-white:#FFFFFF;
      --wattle-soft:#F4F5F4;
      --wattle-border:#D8DEE3;
      --wattle-header-h:78px;
      --wattle-header-max:1240px;
      --wattle-header-gutter:clamp(16px,3vw,40px);
      --wattle-shadow:0 16px 40px rgba(17,25,39,.14);
      --wattle-transition:180ms ease;
    }

    .wattle-header,
    .wattle-header *{
      box-sizing:border-box;
    }

    /* Royal Elementor Kit / Elementor colour reset — scoped to this header only */
    .wattle-header a,
    .wattle-header button{
      -webkit-tap-highlight-color:transparent;
      text-decoration:none !important;
      text-shadow:none !important;
      box-shadow:none !important;
    }

    .wattle-header button{
      appearance:none !important;
      -webkit-appearance:none !important;
      font:inherit !important;
    }

    .wattle-header .wattle-header__drop-toggle,
    .wattle-header .wattle-header__mobile-drop-toggle{
      background:transparent !important;
      background-image:none !important;
      border-color:transparent !important;
      color:inherit !important;
    }

    .wattle-header .wattle-header__toggle{
      background:rgba(17,25,39,.18) !important;
      color:var(--wattle-white) !important;
    }

    .wattle-header.is-scrolled .wattle-header__toggle,
    .wattle-header.is-menu-open .wattle-header__toggle,
    .wattle-header.wattle-header--solid .wattle-header__toggle{
      background:var(--wattle-white) !important;
      color:var(--wattle-navy-900) !important;
    }

    .wattle-header .wattle-header__profile,
    .wattle-header .wattle-header__mobile-profile{
      background:var(--wattle-gold-500) !important;
      border-color:var(--wattle-gold-500) !important;
      color:var(--wattle-navy-950) !important;
    }

    .wattle-header .wattle-header__profile:hover,
    .wattle-header .wattle-header__profile:focus-visible,
    .wattle-header .wattle-header__mobile-profile:hover,
    .wattle-header .wattle-header__mobile-profile:focus-visible{
      background:var(--wattle-gold-300) !important;
      border-color:var(--wattle-gold-300) !important;
      color:var(--wattle-navy-950) !important;
    }

    .wattle-header .wattle-header__menu-link,
    .wattle-header .wattle-header__services-link{
      background:transparent !important;
      color:inherit !important;
    }

    .wattle-header.is-scrolled .wattle-header__menu-link,
    .wattle-header.is-scrolled .wattle-header__services-link,
    .wattle-header.wattle-header--solid .wattle-header__menu-link,
    .wattle-header.wattle-header--solid .wattle-header__services-link{
      color:var(--wattle-navy-900) !important;
    }

    .wattle-header .wattle-header__dropdown,
    .wattle-header .wattle-header__mobile-panel{
      --e-global-color-primary:var(--wattle-navy-900);
      --e-global-color-secondary:var(--wattle-navy-700);
      --e-global-color-text:var(--wattle-navy-700);
      --e-global-color-accent:var(--wattle-gold-500);
    }

    .wattle-header{
      position:fixed;
      inset:0 0 auto;
      z-index:9999;
      width:100%;
      font-family:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      color:var(--wattle-white);
      background:transparent;
      border-bottom:1px solid transparent;
      box-shadow:none;
      backdrop-filter:none;
      -webkit-backdrop-filter:none;
      transition:
        background-color var(--wattle-transition),
        border-color var(--wattle-transition),
        box-shadow var(--wattle-transition),
        color var(--wattle-transition);
    }


    /*
     * Elementor-safe sticky behaviour.
     * `position: fixed` is used intentionally because Elementor/Royal containers
     * can prevent CSS `position: sticky` when an ancestor controls overflow.
     */
    .wattle-header.wattle-header--sticky{
      position:fixed !important;
      top:0 !important;
      right:0 !important;
      bottom:auto !important;
      left:0 !important;
      width:100% !important;
      transform:none !important;
    }

    .wattle-header::before{
      content:"";
      position:absolute;
      inset:0;
      z-index:-1;
      pointer-events:none;
      background:transparent;
      transition:opacity var(--wattle-transition);
    }

    .wattle-header.is-scrolled,
    .wattle-header.is-menu-open,
    .wattle-header.wattle-header--solid{
      color:var(--wattle-navy-900);
      background:rgba(255,255,255,.98);
      border-bottom:1px solid rgba(216,222,227,.95);
      box-shadow:0 10px 28px rgba(17,25,39,.10);
      backdrop-filter:saturate(140%) blur(14px);
      -webkit-backdrop-filter:saturate(140%) blur(14px);
    }

    .wattle-header.is-scrolled::before,
    .wattle-header.is-menu-open::before,
    .wattle-header.wattle-header--solid::before{
      opacity:0;
    }

    .wattle-header__inner{
      width:min(calc(100% - (2 * var(--wattle-header-gutter))),var(--wattle-header-max));
      min-height:var(--wattle-header-h);
      margin-inline:auto;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
    }

    .wattle-header__brand{
      flex:0 0 auto;
      min-width:0;
      display:inline-flex;
      align-items:center;
      text-decoration:none;
    }

    .wattle-header__logo-wrap{
      position:relative;
      display:block;
      width:clamp(210px,19vw,264px);
      height:56px;
    }

    .wattle-header__logo{
      position:absolute;
      inset:50% auto auto 0;
      width:100%;
      height:auto;
      max-height:56px;
      object-fit:contain;
      object-position:left center;
      transform:translateY(-50%);
      transition:opacity var(--wattle-transition);
    }


    /*
     * Logo state:
     * - Before scroll: wh-logo-dark.png (made for dark/hero backgrounds)
     * - After scroll:  wh-logo.png (made for white/light backgrounds)
     */

    .wattle-header__logo--light{opacity:1}
    .wattle-header__logo--dark{opacity:0}

    .wattle-header.is-scrolled .wattle-header__logo--light,
    .wattle-header.is-menu-open .wattle-header__logo--light,
    .wattle-header.wattle-header--solid .wattle-header__logo--light{
      opacity:0;
    }

    .wattle-header.is-scrolled .wattle-header__logo--dark,
    .wattle-header.is-menu-open .wattle-header__logo--dark,
    .wattle-header.wattle-header--solid .wattle-header__logo--dark{
      opacity:1;
    }

    .wattle-header__desktop{
      display:none;
    }

    .wattle-header__actions{
      display:flex;
      align-items:center;
      gap:12px;
      margin-left:auto;
    }

    .wattle-header__vision{
      display:none;
    }

    .wattle-header__profile{
      display:none;
      min-height:48px;
      min-width:158px;
      align-items:center;
      justify-content:center;
      padding:11px 22px;
      border:1px solid var(--wattle-gold-500);
      border-radius:7px;
      background:var(--wattle-gold-500);
      color:var(--wattle-navy-950);
      font-size:.92rem;
      font-weight:700;
      line-height:1;
      text-decoration:none;
      transition:
        background-color var(--wattle-transition),
        border-color var(--wattle-transition),
        color var(--wattle-transition),
        transform var(--wattle-transition);
    }

    .wattle-header__profile:hover,
    .wattle-header__profile:focus-visible{
      background:var(--wattle-gold-300);
      border-color:var(--wattle-gold-300);
      color:var(--wattle-navy-950);
      transform:translateY(-1px);
    }

    .wattle-header__toggle{
      width:46px;
      height:46px;
      flex:0 0 46px;
      display:inline-grid;
      place-items:center;
      border:1px solid rgba(255,255,255,.36);
      border-radius:6px;
      background:rgba(255,255,255,.08);
      color:currentColor;
      cursor:pointer;
      transition:
        border-color var(--wattle-transition),
        background-color var(--wattle-transition);
    }

    .wattle-header.is-scrolled .wattle-header__toggle,
    .wattle-header.is-menu-open .wattle-header__toggle,
    .wattle-header.wattle-header--solid .wattle-header__toggle{
      border-color:var(--wattle-border);
      background:var(--wattle-white);
    }

    .wattle-header__toggle:hover,
    .wattle-header__toggle:focus-visible{
      border-color:var(--wattle-gold-500);
    }

    .wattle-header__toggle-lines{
      width:20px;
      height:14px;
      position:relative;
    }

    .wattle-header__toggle-lines::before,
    .wattle-header__toggle-lines::after,
    .wattle-header__toggle-lines span{
      content:"";
      position:absolute;
      left:0;
      width:20px;
      height:2px;
      border-radius:999px;
      background:currentColor;
      transition:transform var(--wattle-transition),opacity var(--wattle-transition),top var(--wattle-transition);
    }

    .wattle-header__toggle-lines::before{top:0}
    .wattle-header__toggle-lines span{top:6px}
    .wattle-header__toggle-lines::after{top:12px}

    .wattle-header.is-menu-open .wattle-header__toggle-lines::before{
      top:6px;
      transform:rotate(45deg);
    }
    .wattle-header.is-menu-open .wattle-header__toggle-lines span{opacity:0}
    .wattle-header.is-menu-open .wattle-header__toggle-lines::after{
      top:6px;
      transform:rotate(-45deg);
    }

    .wattle-header__mobile-panel{
      display:grid;
      grid-template-rows:0fr;
      background:var(--wattle-white);
      color:var(--wattle-navy-900);
      border-top:1px solid transparent;
      transition:grid-template-rows 220ms ease,border-color var(--wattle-transition);
    }

    .wattle-header.is-menu-open .wattle-header__mobile-panel{
      grid-template-rows:1fr;
      border-top-color:var(--wattle-border);
    }

    .wattle-header__mobile-panel-inner{
      min-height:0;
      overflow:hidden;
    }

    .wattle-header__mobile-nav{
      width:min(calc(100% - (2 * var(--wattle-header-gutter))),var(--wattle-header-max));
      margin-inline:auto;
      padding:14px 0 26px;
    }

    .wattle-header__mobile-list,
    .wattle-header__menu,
    .wattle-header__submenu{
      list-style:none;
      margin:0;
      padding:0;
    }

    .wattle-header__mobile-item{
      border-bottom:1px solid var(--wattle-border);
    }

    .wattle-header__mobile-link,
    .wattle-header__mobile-service-link{
      min-height:52px;
      display:flex;
      align-items:center;
      color:var(--wattle-navy-900);
      font-size:1rem;
      font-weight:600;
      text-decoration:none;
    }

    .wattle-header__mobile-link:hover,
    .wattle-header__mobile-link:focus-visible,
    .wattle-header__mobile-service-link:hover,
    .wattle-header__mobile-service-link:focus-visible{
      color:var(--wattle-gold-700);
    }

    .wattle-header__mobile-services-row{
      display:grid;
      grid-template-columns:minmax(0,1fr) 52px;
      align-items:center;
    }

    .wattle-header__mobile-drop-toggle{
      width:52px !important;
      min-width:52px !important;
      height:52px !important;
      min-height:52px !important;
      display:grid !important;
      place-items:center;
      margin:0 !important;
      padding:0 !important;
      border:0 !important;
      border-left:1px solid var(--wattle-border) !important;
      border-radius:0 !important;
      background:transparent !important;
      color:var(--wattle-navy-900) !important;
      cursor:pointer;
    }

    .wattle-header__chevron{
      width:8px;
      height:8px;
      border-right:1.7px solid currentColor;
      border-bottom:1.7px solid currentColor;
      transform:rotate(45deg) translateY(-2px);
      transition:transform var(--wattle-transition);
    }

    .wattle-header__mobile-drop-toggle[aria-expanded="true"] .wattle-header__chevron{
      transform:rotate(225deg) translate(-1px,-1px);
    }

    .wattle-header__mobile-submenu{
      display:none;
      padding:4px 0 14px 14px;
      border-top:1px solid var(--wattle-border);
    }

    .wattle-header__mobile-submenu.is-open{
      display:block;
    }

    .wattle-header__mobile-submenu a{
      min-height:44px;
      display:flex;
      align-items:center;
      padding:8px 0;
      color:var(--wattle-navy-700);
      font-size:.92rem;
      line-height:1.35;
      text-decoration:none;
    }

    .wattle-header__mobile-submenu a:hover,
    .wattle-header__mobile-submenu a:focus-visible{
      color:var(--wattle-gold-700);
    }

    .wattle-header__mobile-footer{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      padding-top:20px;
    }

    .wattle-header__mobile-profile{
      min-height:48px;
      min-width:146px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:11px 20px;
      border-radius:6px;
      background:var(--wattle-gold-500);
      color:var(--wattle-navy-950);
      font-size:.9rem;
      font-weight:700;
      text-decoration:none;
    }

    .wattle-header__vision-mobile{
      width:86px;
      height:auto;
      object-fit:contain;
      opacity:.92;
    }

    .wattle-header a[aria-current="page"]{
      color:var(--wattle-gold-300);
    }

    .wattle-header.is-scrolled a[aria-current="page"],
    .wattle-header.is-menu-open a[aria-current="page"],
    .wattle-header.wattle-header--solid a[aria-current="page"]{
      color:var(--wattle-gold-700);
    }


    .wattle-header a[aria-current="page"],
    .wattle-header a[aria-current="true"]{
      background:transparent !important;
      color:var(--wattle-gold-300) !important;
    }

    .wattle-header.is-scrolled a[aria-current="page"],
    .wattle-header.is-scrolled a[aria-current="true"],
    .wattle-header.is-menu-open a[aria-current="page"],
    .wattle-header.is-menu-open a[aria-current="true"],
    .wattle-header.wattle-header--solid a[aria-current="page"],
    .wattle-header.wattle-header--solid a[aria-current="true"]{
      color:var(--wattle-gold-700) !important;
    }

    .wattle-header :focus-visible{
      outline:2px solid var(--wattle-gold-300);
      outline-offset:3px;
    }


    @media (max-width:480px){
      .wattle-header__logo-wrap{
        width:190px;
        height:52px;
      }
      .wattle-header__logo{
        max-height:52px;
      }
      .wattle-header__inner{
        gap:10px;
      }
      .wattle-header__profile{
        display:none !important;
      }
    }

    @media (min-width:760px){
      .wattle-header__profile{display:inline-flex}
      .wattle-header__vision{display:flex}
      .wattle-header__vision{
        height:46px;
        align-items:center;
        padding-left:18px;
        margin-left:3px;
        border-left:1px solid rgba(255,255,255,.28);
      }
      .wattle-header.is-scrolled .wattle-header__vision,
      .wattle-header.wattle-header--solid .wattle-header__vision{
        border-left-color:var(--wattle-border);
      }
      .wattle-header__vision img{
        display:block;
        width:72px;
        max-height:38px;
        object-fit:contain;
      }
    }

    @media (min-width:1080px){
      :root{--wattle-header-h:82px}

      .wattle-header__brand{
        flex-basis:250px;
      }

      .wattle-header__logo-wrap{
        width:240px;
        height:58px;
      }

      .wattle-header__logo{
        max-height:58px;
      }

      .wattle-header__desktop{
        min-width:0;
        display:block;
        margin-left:auto;
      }

      .wattle-header__menu{
        display:flex;
        align-items:center;
        gap:clamp(13px,1.25vw,22px);
      }

      .wattle-header__menu-item{
        position:relative;
      }

      .wattle-header__menu-link,
      .wattle-header__services-link{
        position:relative;
        min-height:48px;
        display:inline-flex;
        align-items:center;
        gap:8px;
        color:inherit;
        font-size:.88rem;
        font-weight:600;
        letter-spacing:.01em;
        line-height:1;
        text-decoration:none;
        white-space:nowrap;
        transition:color var(--wattle-transition);
      }

      .wattle-header:not(.is-scrolled):not(.wattle-header--solid) .wattle-header__menu-link,
      .wattle-header:not(.is-scrolled):not(.wattle-header--solid) .wattle-header__services-link{
        color:rgba(255,255,255,.94) !important;
      }

      .wattle-header__menu-link::after,
      .wattle-header__services-link::after{
        content:"";
        position:absolute;
        left:0;
        right:0;
        bottom:2px;
        height:2px;
        background:var(--wattle-gold-500);
        transform:scaleX(0);
        transform-origin:left;
        transition:transform var(--wattle-transition);
      }

      .wattle-header__menu-link:hover,
      .wattle-header__menu-link:focus-visible,
      .wattle-header__services-link:hover,
      .wattle-header__services-link:focus-visible{
        color:var(--wattle-gold-300);
      }

      .wattle-header.is-scrolled .wattle-header__menu-link:hover,
      .wattle-header.is-scrolled .wattle-header__services-link:hover,
      .wattle-header.wattle-header--solid .wattle-header__menu-link:hover,
      .wattle-header.wattle-header--solid .wattle-header__services-link:hover{
        color:var(--wattle-gold-700);
      }

      .wattle-header__menu-link:hover::after,
      .wattle-header__menu-link:focus-visible::after,
      .wattle-header__services-link:hover::after,
      .wattle-header__services-link:focus-visible::after,
      .wattle-header a[aria-current="page"]::after{
        transform:scaleX(1);
      }

      .wattle-header__services-wrap{
        display:flex;
        align-items:center;
      }

      .wattle-header__drop-toggle{
        width:28px !important;
        min-width:28px !important;
        height:42px !important;
        min-height:42px !important;
        display:grid !important;
        place-items:center;
        margin:0 0 0 -3px !important;
        padding:0 !important;
        border:0 !important;
        border-radius:0 !important;
        background:transparent !important;
        color:inherit !important;
        cursor:pointer;
      }

      .wattle-header__dropdown{
        position:absolute;
        top:calc(100% + 10px);
        left:50%;
        width:min(420px,calc(100vw - 32px));
        padding:10px;
        border:1px solid var(--wattle-border);
        border-radius:10px;
        background:var(--wattle-white);
        box-shadow:var(--wattle-shadow);
        opacity:0;
        visibility:hidden;
        transform:translate(-50%,-8px);
        transition:
          opacity var(--wattle-transition),
          transform var(--wattle-transition),
          visibility var(--wattle-transition);
      }

      .wattle-header__menu-item--services:hover .wattle-header__dropdown,
      .wattle-header__menu-item--services:focus-within .wattle-header__dropdown,
      .wattle-header__menu-item--services.is-open .wattle-header__dropdown{
        opacity:1;
        visibility:visible;
        transform:translate(-50%,0);
      }

      .wattle-header__submenu{
        display:grid;
        gap:2px;
      }

      .wattle-header__submenu a{
        display:block;
        padding:11px 12px;
        border-radius:7px;
        background:transparent !important;
        color:var(--wattle-navy-800) !important;
        font-size:.86rem;
        font-weight:600;
        line-height:1.35;
        text-decoration:none;
        transition:background-color var(--wattle-transition),color var(--wattle-transition);
      }

      .wattle-header__submenu a:hover,
      .wattle-header__submenu a:focus-visible{
        background:var(--wattle-gold-100) !important;
        color:var(--wattle-gold-700) !important;
      }

      .wattle-header__submenu-all{
        margin-top:5px;
        border-top:1px solid var(--wattle-border);
        padding-top:7px !important;
        color:var(--wattle-gold-700) !important;
      }

      .wattle-header__toggle,
      .wattle-header__mobile-panel{
        display:none;
      }

      .wattle-header__vision{
        padding-left:14px;
      }

      .wattle-header__vision img{
        width:76px;
      }
    }

    @media (min-width:1220px){
      .wattle-header__brand{
        flex-basis:270px;
      }
      .wattle-header__logo-wrap{
        width:258px;
        height:60px;
      }
      .wattle-header__logo{
        max-height:60px;
      }
      .wattle-header__menu{
        gap:clamp(16px,1.35vw,24px);
      }
      .wattle-header__vision img{
        width:86px;
      }
    }


    /*
     * Optional for pages that do not start with a hero:
     * add class `wattle-no-hero` to <body> and the fixed header gets document space.
     */
    body.wattle-no-hero{
      padding-top:var(--wattle-header-h);
    }

    @media (prefers-reduced-motion:reduce){
      .wattle-header *,
      .wattle-header *::before,
      .wattle-header *::after{
        scroll-behavior:auto !important;
        transition:none !important;
      }
    }

/* Latest approved footer */
:root{
      --wattle-navy-950:#111927;
      --wattle-navy-900:#192437;
      --wattle-navy-800:#223044;
      --wattle-navy-700:#2B394C;
      --wattle-navy-600:#334155;
      --wattle-gold-700:#765D3B;
      --wattle-gold-600:#8E7248;
      --wattle-gold-500:#AC8C5B;
      --wattle-gold-300:#D6BF97;
      --wattle-gold-100:#F4EEE4;
      --wattle-white:#FFFFFF;
      --wattle-soft:#F4F5F4;
      --wattle-border:#D8DEE3;
      --wattle-footer-max:1240px;
      --wattle-footer-gutter:clamp(18px,4vw,40px);
      --wattle-transition:180ms ease;
    }

    .wattle-footer,
    .wattle-footer *{
      box-sizing:border-box;
    }

    .wattle-footer{
      position:relative;
      overflow:hidden;
      width:100%;
      background:
        radial-gradient(circle at 88% 12%, rgba(172,140,91,.10), transparent 22rem),
        linear-gradient(180deg,var(--wattle-navy-950),#0E1622);
      color:rgba(255,255,255,.82);
      font-family:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      border-top:1px solid rgba(214,191,151,.18);
    }

    .wattle-footer::before{
      content:"";
      position:absolute;
      top:0;
      left:50%;
      width:min(calc(100% - (2 * var(--wattle-footer-gutter))),var(--wattle-footer-max));
      height:1px;
      transform:translateX(-50%);
      background:linear-gradient(90deg,transparent,var(--wattle-gold-500),transparent);
      opacity:.72;
      pointer-events:none;
    }

    .wattle-footer a{
      color:inherit !important;
      text-decoration:none !important;
      text-shadow:none !important;
      box-shadow:none !important;
      transition:
        color var(--wattle-transition),
        transform var(--wattle-transition);
    }

    .wattle-footer a:hover,
    .wattle-footer a:focus-visible{
      color:var(--wattle-gold-300) !important;
    }

    .wattle-footer :focus-visible{
      outline:2px solid var(--wattle-gold-300);
      outline-offset:3px;
    }

    .wattle-footer__inner{
      width:min(calc(100% - (2 * var(--wattle-footer-gutter))),var(--wattle-footer-max));
      margin-inline:auto;
    }

    .wattle-footer__main{
      padding:clamp(48px,8vw,76px) 0 clamp(34px,6vw,54px);
    }

    .wattle-footer__grid{
      display:grid;
      grid-template-columns:1fr;
      gap:clamp(34px,6vw,52px);
    }

    .wattle-footer__brand{
      max-width:34rem;
    }

    .wattle-footer__logo{
      display:block;
      width:clamp(220px,34vw,290px);
      height:auto;
      max-height:72px;
      object-fit:contain;
      object-position:left center;
      margin:0 0 22px;
    }

    .wattle-footer__brand-copy{
      max-width:32rem;
      margin:0;
      color:rgba(255,255,255,.72);
      font-size:.98rem;
      line-height:1.75;
    }

    .wattle-footer__section-title{
      margin:0 0 18px;
      color:var(--wattle-white);
      font-family:"Kanit","DM Sans",sans-serif;
      font-size:.94rem;
      font-weight:600;
      line-height:1.2;
      letter-spacing:.075em;
      text-transform:uppercase;
    }

    .wattle-footer__section-title::after{
      content:"";
      display:block;
      width:34px;
      height:2px;
      margin-top:10px;
      background:var(--wattle-gold-500);
    }

    .wattle-footer__links,
    .wattle-footer__contact-list,
    .wattle-footer__group-links{
      list-style:none;
      margin:0;
      padding:0;
    }

    .wattle-footer__links{
      display:grid;
      gap:11px;
    }

    .wattle-footer__links a{
      display:inline-flex;
      align-items:flex-start;
      gap:8px;
      color:rgba(255,255,255,.72) !important;
      font-size:.93rem;
      font-weight:500;
      line-height:1.45;
    }

    .wattle-footer__links a::before{
      content:"";
      width:5px;
      height:5px;
      flex:0 0 5px;
      margin-top:.48rem;
      border-radius:50%;
      background:var(--wattle-gold-600);
      opacity:.82;
    }

    .wattle-footer__links a:hover::before,
    .wattle-footer__links a:focus-visible::before{
      background:var(--wattle-gold-300);
    }

    .wattle-footer__contact-list{
      display:grid;
      gap:18px;
    }

    .wattle-footer__contact-item{
      display:grid;
      grid-template-columns:34px minmax(0,1fr);
      gap:12px;
      align-items:start;
    }

    .wattle-footer__contact-icon{
      width:34px;
      height:34px;
      display:grid;
      place-items:center;
      border:1px solid rgba(214,191,151,.22);
      border-radius:8px;
      background:rgba(255,255,255,.035);
      color:var(--wattle-gold-300);
    }

    .wattle-footer__contact-icon svg{
      width:17px;
      height:17px;
      display:block;
      fill:none;
      stroke:currentColor;
      stroke-width:1.7;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    .wattle-footer__contact-label{
      display:block;
      margin-bottom:3px;
      color:rgba(255,255,255,.48);
      font-size:.72rem;
      font-weight:700;
      letter-spacing:.07em;
      text-transform:uppercase;
    }

    .wattle-footer__contact-value,
    .wattle-footer__contact-value a{
      color:rgba(255,255,255,.82) !important;
      font-size:.93rem;
      line-height:1.58;
    }

    .wattle-footer__address{
      font-style:normal;
    }

    .wattle-footer__group{
      margin-top:clamp(34px,6vw,54px);
      padding-top:26px;
      border-top:1px solid rgba(216,222,227,.13);
    }

    .wattle-footer__group-grid{
      display:grid;
      grid-template-columns:1fr;
      gap:24px;
      align-items:start;
    }

    .wattle-footer__group-head{
      margin:0 0 13px;
      color:rgba(255,255,255,.48);
      font-size:.72rem;
      font-weight:700;
      line-height:1.3;
      letter-spacing:.08em;
      text-transform:uppercase;
    }

    .wattle-footer__group-links{
      display:flex;
      flex-wrap:wrap;
      gap:10px 20px;
    }

    .wattle-footer__group-links a{
      display:inline-flex;
      align-items:center;
      gap:7px;
      color:rgba(255,255,255,.72) !important;
      font-size:.87rem;
      font-weight:600;
      line-height:1.45;
    }

    .wattle-footer__group-links a::after{
      content:"↗";
      color:var(--wattle-gold-500);
      font-size:.78em;
      transform:translateY(-1px);
    }

    .wattle-footer__group-office{
      padding-top:22px;
      border-top:1px solid rgba(216,222,227,.11);
    }

    .wattle-footer__group-address{
      margin:0;
      color:rgba(255,255,255,.72);
      font-size:.87rem;
      font-style:normal;
      line-height:1.65;
    }

    .wattle-footer__bottom{
      border-top:1px solid rgba(216,222,227,.13);
      background:rgba(0,0,0,.08);
    }

    .wattle-footer__bottom-inner{
      width:min(calc(100% - (2 * var(--wattle-footer-gutter))),var(--wattle-footer-max));
      min-height:66px;
      margin-inline:auto;
      display:flex;
      flex-direction:column;
      justify-content:center;
      gap:8px;
      padding:16px 0;
    }

    .wattle-footer__copyright,
    .wattle-footer__legal{
      margin:0;
      color:rgba(255,255,255,.48);
      font-size:.78rem;
      line-height:1.55;
    }

    .wattle-footer__legal{
      color:rgba(255,255,255,.42);
    }

    .wattle-footer__legal a{
      color:rgba(255,255,255,.66) !important;
      font-weight:600;
      white-space:nowrap;
    }

    .wattle-footer__legal a:hover,
    .wattle-footer__legal a:focus-visible{
      color:var(--wattle-gold-300) !important;
    }

    @media (min-width:640px){
      .wattle-footer__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
      }

      .wattle-footer__brand{
        grid-column:1 / -1;
      }

      .wattle-footer__bottom-inner{
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
        gap:24px;
      }

      .wattle-footer__legal{
        text-align:right;
      }
    }

    @media (min-width:760px){
      .wattle-footer__group-grid{
        grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr);
        gap:clamp(32px,6vw,72px);
      }

      .wattle-footer__group-office{
        padding-top:0;
        padding-left:clamp(24px,4vw,42px);
        border-top:0;
        border-left:1px solid rgba(216,222,227,.13);
      }
    }

    @media (min-width:900px){
      .wattle-footer__grid{
        grid-template-columns:minmax(0,1.45fr) minmax(0,.8fr) minmax(0,1.15fr);
        align-items:start;
      }

      .wattle-footer__brand{
        grid-column:auto;
        padding-right:clamp(10px,2vw,34px);
      }
    }

    @media (min-width:1180px){
      .wattle-footer__grid{
        grid-template-columns:minmax(0,1.5fr) minmax(0,.75fr) minmax(0,1.05fr) minmax(0,1.2fr);
      }

      .wattle-footer__services{
        display:block;
      }
    }

    @media (max-width:1179px){
      .wattle-footer__services{
        grid-column:auto;
      }
    }

    @media (max-width:480px){

      .wattle-footer__group-links{
        display:grid;
        gap:10px;
      }
    }

    @media (prefers-reduced-motion:reduce){
      .wattle-footer *,
      .wattle-footer *::before,
      .wattle-footer *::after{
        transition:none !important;
      }
    }

/* Accessible visually-hidden utility used by semantic footer headings */
.wattle-footer .sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
