:where([data-etch-element="container"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  max-inline-size: var(--content-width, 1366px);
  align-self: center; margin-inline: auto;
}
:where([data-etch-element="flex-div"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
}
:where([data-etch-element="iframe"]) {
  inline-size: 100%;
  height: auto;
 aspect-ratio: 16/9;
}
:where([data-etch-element="section"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.site-header {
  background:var(--white);border-block-end:1px solid var(--base-ultra-light);position:sticky;inset-block-start:0;z-index:10;padding-inline:var(--gutter);
  /* In Studio the header sits outside <main>, where ACSS gives top-level sections block padding. Live WP had none. */
  &.site-header { padding-block: 0; }
}
.site-header__bar {
  flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-m);padding-block:var(--space-xs);@media (width <= 520px){gap:var(--space-xs);}
}
.site-header__logo {
  flex:none;
}
.site-header__logo-img {
  block-size:76px;inline-size:auto;@media (width <= 520px){block-size:60px;}
}
.site-header__toggle {
  display:none;@media (width <= 860px){display:inline-flex;align-items:center;justify-content:center;flex:none;inline-size:2.75rem;block-size:2.75rem;margin-inline-start:auto;padding:0;background:transparent;color:var(--base);border:2px solid var(--base);border-radius:var(--radius);cursor:pointer;}&:focus-visible{outline:var(--focus-width) solid var(--base);outline-offset:var(--focus-offset);}&[aria-expanded="true"] .site-header__bars{background:transparent;}&[aria-expanded="true"] .site-header__bars::before{transform:rotate(45deg);}&[aria-expanded="true"] .site-header__bars::after{transform:rotate(-45deg);}
}
.site-header__bars {
  position:relative;display:block;inline-size:1.25rem;block-size:2px;background:currentColor;transition:background var(--transition-duration) var(--transition-timing);&::before,&::after{content:"";position:absolute;inset-inline-start:0;inline-size:100%;block-size:2px;background:currentColor;transition:transform var(--transition-duration) var(--transition-timing);}&::before{transform:translateY(-6px);}&::after{transform:translateY(6px);}@media (prefers-reduced-motion:reduce){transition:none;&::before,&::after{transition:none;}}
}
.site-header__nav {
  display:flex;gap:var(--space-l);font-weight:600;@media (width <= 860px){position:absolute;inset-inline:0;inset-block-start:100%;flex-direction:column;gap:0;padding-inline:var(--gutter);padding-block:0 var(--space-xs);background:var(--white);border-block-end:1px solid var(--base-ultra-light);&[data-state="closed"]{display:none;}}
}
.site-header__link {
  text-decoration:none;color:var(--base);padding-block:.25rem;border-block-end:2px solid transparent;&:hover{border-block-end-color:var(--primary);}@media (width <= 860px){padding-block:var(--space-xs);font-size:var(--text-m);border-block-end:1px solid var(--base-ultra-light);&:last-child{border-block-end-color:transparent;}&:hover{border-block-end-color:var(--primary);}}
}
.site-header__call {
  font-weight:700;flex:none;@media (width <= 520px){font-size:var(--text-s);}
}
.site-header__call-long {
  @media (width <= 520px){display:none;}
}
.site-header__call-short {
  display:none;@media (width <= 520px){display:inline;}
}
.site-footer {
  background:var(--base-dark);color:var(--secondary);padding-block:var(--space-xl);font-size:var(--text-s);
}
.site-footer__main {
  flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-m);
}
.site-footer__logo-img {
  block-size:54px;inline-size:auto;opacity:.9;
}
.site-footer__links {
  display:flex;flex-wrap:wrap;gap:var(--space-m);
}
.site-footer__link {
  text-decoration:none;color:var(--white);&:hover{color:var(--white);text-decoration:underline;}
}
.hero {
  padding-block:var(--section-space-m) 0;
}
.hero__main {
  display:grid;grid-template-columns:1.15fr .85fr;gap:var(--space-xxl);align-items:end;@media (max-width:860px){grid-template-columns:1fr;}
}
.hero__content {
  gap:var(--space-m);padding-block-end:var(--section-space-m);
}
.hero__heading {
  font-size:var(--h1);line-height:1.08;letter-spacing:-.01em;max-inline-size:16ch;
}
.hero__lede {
  font-size:var(--text-l);color:var(--text-dark-muted);max-inline-size:46ch;
}
.hero__actions {
  display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-s) var(--space-m);
}
.hero__call {
  font-size:var(--text-l);font-weight:700;
}
.hero__engineer {
  font-weight:600;
}
.hero__trust {
  display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-l);font-weight:600;font-size:var(--text-s);padding-block-start:var(--space-s);border-block-start:1px solid var(--base-ultra-light);& li{display:flex;align-items:center;gap:.5rem;}& li::before{content:"";flex:none;background:var(--primary);clip-path:polygon(0 0,100% 50%,0 100%);inline-size:.7rem;block-size:.7rem;}
}
.hero__visual {
  position:relative;align-self:end;@media (max-width:860px){order:-1;max-inline-size:420px;}
}
.hero__img {
  inline-size:100%;aspect-ratio:4/5;object-fit:cover;object-position:44% 50%;border-radius:var(--radius) var(--radius) 0 0;@media (max-width:860px){aspect-ratio:1;border-radius:var(--radius);}
}
.hero__caption {
  position:absolute;inset-inline-start:1rem;inset-block-end:1rem;background:var(--base);color:var(--white);font-size:var(--text-s);font-weight:600;padding:.45rem .8rem;border-radius:3px;
}
.fuels {
  background: var(--base);
  color: var(--white);
  padding-block: var(--space-m);
  padding-inline: var(--gutter)
}
.fuels__list {
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-s) var(--space-l);font-family:var(--heading-font-family);font-weight:700;font-size:var(--h3);& li{display:flex;align-items:center;gap:.8rem;}& li::before{content:"";flex:none;background:var(--primary);clip-path:polygon(0 0,100% 50%,0 100%);inline-size:1.1rem;block-size:1.1rem;}@media (width <= 520px){display:grid;grid-template-columns:repeat(2,max-content);justify-content:space-around;}
}
.services__intro {
  gap:var(--space-xs);margin-block-end:var(--space-xl);max-inline-size:60ch;
}
.services__lede {
  color:var(--text-dark-muted);font-size:var(--text-l);
}
.services__grid {
  display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-m);@media (max-width:1000px){grid-template-columns:repeat(2,1fr);}@media (max-width:560px){grid-template-columns:1fr;}
}
.service {
  gap:var(--space-xs);
}
.service__img {
  inline-size:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);margin-block-end:.4rem;
}
.service__title {
  font-size:var(--h4);
}
.service__body {
  color:var(--text-dark-muted);
}
.jobs {
  background:var(--base-ultra-light);
}
.jobs__intro {
  display:flex;justify-content:space-between;align-items:end;gap:var(--space-m);flex-wrap:wrap;margin-block-end:var(--space-l);
}
.jobs__lede {
  color:var(--text-dark-muted);max-inline-size:52ch;margin-block-start:.6rem;
}
.jobs__link {
  font-weight:700;
}
.jobs__grid {
  display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-m);@media (max-width:860px){grid-template-columns:repeat(2,1fr);}@media (max-width:520px){grid-template-columns:1fr;}
}
.jobs__wide {
  grid-column:span 2;@media (max-width:520px){grid-column:auto;}
}
.job {
  background:var(--white);border-radius:var(--radius);overflow:hidden;block-size:100%;
}
.job__pair {
  display:grid;grid-template-columns:1fr 1fr;gap:2px;
}
.job__img {
  inline-size:100%;aspect-ratio:1;object-fit:cover;
}
.job__caption {
  padding:var(--space-s) var(--space-s) var(--space-m);font-size:var(--text-s);
}
.about__main {
  display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xxl);align-items:center;@media (max-width:860px){grid-template-columns:1fr;}
}
.about__img {
  inline-size:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 42%;border-radius:var(--radius);
}
.about__content {
  gap:var(--space-m);
}
.about__body {
  color:var(--text-dark-muted);max-inline-size:56ch;
}
.about__points {
  display:flex;flex-direction:column;gap:var(--space-s);
}
.about__point {
  display:grid;grid-template-columns:1.1rem 1fr;gap:.85rem;align-items:start;&::before{content:"";flex:none;background:var(--primary);clip-path:polygon(0 0,100% 50%,0 100%);inline-size:.85rem;block-size:.85rem;margin-block-start:.4rem;}
}
.about__point-title {
  display:block;
}
.about__point-body {
  color:var(--text-dark-muted);
}
.cta {
  background:var(--base);color:var(--white);
}
.cta__body {
  align-items:flex-start;gap:var(--space-s);
}
.cta__heading {
  color:var(--white);
}
.cta__lede {
  color:var(--secondary);font-size:var(--text-l);max-inline-size:52ch;
}
.cta__label {
  font-weight:700;color:var(--white);margin-block-end:calc(var(--space-xs) * -1);
}
.cta__number {
  font-family:var(--heading-font-family);font-weight:700;font-size:clamp(2.4rem,7.5vw,5.5rem);line-height:1;color:var(--primary);text-decoration:none;letter-spacing:-.01em;&:hover{color:var(--primary);text-decoration:underline;text-decoration-thickness:4px;text-underline-offset:8px;}
}
.cta__alt {
  display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-l);color:var(--secondary);
}
.cta__alt-link {
  color:var(--white);font-weight:600;&:hover{color:var(--white);}
}
.gallery-intro {
  padding-block:var(--section-space-m);
}
.gallery-intro__main {
  display:grid;grid-template-columns:1.15fr .85fr;gap:var(--space-xxl);align-items:center;@media (max-width:860px){grid-template-columns:1fr;}
}
.gallery-intro__content {
  gap:var(--space-m);
}
.gallery-intro__heading {
  font-size:var(--h1);line-height:1.08;letter-spacing:-.01em;max-inline-size:16ch;
}
.gallery-intro__lede {
  font-size:var(--text-l);color:var(--text-dark-muted);max-inline-size:46ch;
}
.gallery-intro__actions {
  display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-s) var(--space-m);
}
.gallery-intro__call {
  font-size:var(--text-l);font-weight:700;
}
.gallery-intro__engineer {
  font-weight:600;
}
.gallery-intro__visual {
  position:relative;@media (max-width:860px){max-inline-size:420px;}
}
.gallery-intro__img {
  inline-size:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);
}
.gallery-intro__caption {
  position:absolute;inset-inline-start:1rem;inset-block-end:1rem;background:var(--base);color:var(--white);font-size:var(--text-s);font-weight:600;padding:.45rem .8rem;border-radius:3px;
}
.gallery-pairs {
  background:var(--base-ultra-light);
}
.gallery-pairs__heading {
  margin-block-end:var(--space-l);
}
.gallery-pairs__grid {
  display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-m);@media (max-width:760px){grid-template-columns:1fr;}
}
.gallery-finds {
  background:var(--base-ultra-light);padding-block-start:0;
}
.gallery-finds__heading {
  margin-block-end:var(--space-l);
}
.gallery-finds__grid {
  display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-m);@media (max-width:860px){grid-template-columns:repeat(2,1fr);}@media (max-width:520px){grid-template-columns:1fr;}
}
.gallery-road__heading {
  margin-block-end:var(--space-l);
}
.gallery-road__grid {
  display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-m);@media (max-width:760px){grid-template-columns:1fr;}
}
.legal {
  padding-block:var(--section-space-m);
}
.legal__main {
  max-inline-size:var(--width-70);gap:var(--space-s);
}
.legal__heading {
  font-size:var(--h1);line-height:1.08;
}
.legal__updated {
  color:var(--text-dark-muted);font-size:var(--text-s);margin-block-end:var(--space-s);
}
.legal__text {
  max-inline-size:65ch;
}
.legal__subheading {
  font-size:var(--h3);margin-block-start:var(--space-l);
}
.legal__list {
  display:flex;flex-direction:column;gap:var(--space-xs);max-inline-size:65ch;& li{position:relative;padding-inline-start:1.4rem;}& li::before{content:"";flex:none;background:var(--primary);clip-path:polygon(0 0,100% 50%,0 100%);position:absolute;inset-inline-start:0;inset-block-start:.5em;inline-size:.6rem;block-size:.6rem;}
}
.legal__link {
  font-weight:600;
}
.cookie-banner {
  position: fixed;
  inset-inline: var(--space-s);
  inset-block-end: var(--space-s);
  z-index: 100; /* acss-ok: sits above the header and page content */
  max-inline-size: var(--content-width);
  margin-inline: auto;
  padding: var(--space-m);
  border: 1px solid color-mix(in oklch, var(--text-light) 20%, transparent); /* acss-ok: hairline border */
  border-radius: var(--radius);
  background-color: var(--base);
  color: var(--text-light);
  &[hidden] { display: none; }
}
.cookie-banner__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-s);
}
.cookie-banner__text {
  margin: 0;
  max-inline-size: var(--width-60);
  color: var(--text-light-muted);
  font-size: var(--text-s);
  & a { color: var(--text-light); }
}
.cookie-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}
.cookie-banner__button {
  min-inline-size: 8em; /* acss-ok: keeps Accept and Reject the same width */
  justify-content: center;
}
.not-found__main {
  gap: var(--space-m); align-items: flex-start;
}
.not-found__text {
  max-inline-size: var(--width-60);
}