:root{--green:#729600;--lime:#a6c729;--ink:#171b1a;--muted:#5b625e;--border:#e1e4de}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:white;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:5px}button{background:none;border:0}p{margin:0 0 18px}h1,h2,h3{font-weight:500;line-height:1.15;margin:0}h2{font-size:27px;letter-spacing:.02em}h3{font-size:17px}header{height:108px;display:flex;align-items:center;padding:18px 3.4%;gap:35px;border-bottom:1px solid #f5f5f5;background:white;position:relative;z-index:5}.brand{display:block;width:265px;flex-shrink:0}.crop{display:block;position:relative;overflow:hidden;aspect-ratio:var(--w)/var(--h);width:100%}.crop img{position:absolute;max-width:none;width:calc(1536 / var(--w) * 100%);height:auto;left:calc(-1 * var(--x) / var(--w) * 100%);top:calc(-1 * var(--y) / var(--h) * 100%)}nav{display:flex;align-items:center;justify-content:center;gap:30px;flex:1}nav a,nav button{font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:10px 0;position:relative;white-space:nowrap}nav a:after,nav button:after{content:'';height:2px;position:absolute;bottom:0;left:0;width:0;background:var(--green);transition:width .2s}nav a:hover:after,nav button:hover:after,nav .active:after{width:100%}.outline{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid #93ad48;padding:12px 22px;text-transform:uppercase;font-size:12px;letter-spacing:.06em;line-height:1.3;background:#ffffffbd;transition:background .2s,color .2s}.outline span{font-size:22px;line-height:.7;color:var(--green)}.outline:hover{background:#edf3dd}.header-cta{min-width:160px;justify-content:center}.menu{display:none}.hero{position:relative;min-height:445px;overflow:hidden;border-bottom:1px solid var(--border)}.hero-copy{position:relative;z-index:1;max-width:590px;padding:48px 0 48px 6%}.eyebrow{color:var(--green);text-transform:uppercase;font-size:11px;letter-spacing:.12em;margin-bottom:12px;font-weight:600}h1{text-transform:uppercase;font-size:clamp(34px,3.2vw,52px);letter-spacing:.035em;line-height:1.06}h1 span,.contact h2 span{color:var(--green)}.line{height:2px;width:48px;background:var(--green);margin:24px 0 18px}.hero-copy>p:not(.eyebrow){max-width:390px;font-size:16px;line-height:1.65}.hero-art{position:absolute;width:83%;right:-5%;top:0;bottom:0;display:flex;align-items:center}.hero-art .crop{width:100%;flex-shrink:0}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,#fff0 43%)}.hero-index{position:absolute;right:4%;bottom:19px;font-size:10px;letter-spacing:.15em;color:#687064;text-transform:uppercase}.wrap{width:88%;max-width:1450px;margin:auto}.services{display:grid;grid-template-columns:repeat(4,1fr);padding:30px 0;gap:24px}.service{display:grid;grid-template-columns:62px 1fr;gap:20px;border-right:1px solid var(--border);padding-right:20px}.service:last-child{border:0;padding-right:0}.service .crop{margin-top:5px}.service h3{text-transform:uppercase;font-size:14px;letter-spacing:.05em;margin:2px 0 10px}.service p{font-size:13px;margin-bottom:10px;line-height:1.65}.text-button{color:var(--green);font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:0;display:inline-flex;align-items:center;gap:14px}.text-button span{font-size:20px}.text-button:hover{text-decoration:underline}.about{display:grid;grid-template-columns:1.05fr 3fr;gap:42px;padding:30px 0;border-top:1px solid var(--border)}.about-copy p:not(.eyebrow){font-size:13px;line-height:1.7;margin:14px 0}.about-copy .outline{padding:10px 15px;font-size:10px;gap:20px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.principle{position:relative;overflow:hidden;min-height:240px;background:#171d20;color:white}.principle>.crop{position:absolute;width:100%;height:100%;aspect-ratio:auto}.principle>.crop img{min-height:100%}.principle:after{position:absolute;inset:0;content:'';background:linear-gradient(0deg,#050c12e8,#050c1200)}.principle>div{position:relative;z-index:1;padding:24px;height:100%;display:flex;flex-direction:column;justify-content:flex-end}.mini{color:#c3e242;font-size:12px;letter-spacing:.1em;margin-bottom:auto}.principle h3{text-transform:uppercase;font-size:20px;margin:30px 0 10px}.principle p{font-size:13px;line-height:1.6;margin:0}.projects{padding:25px 0 40px;border-top:1px solid var(--border)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px}.section-head .eyebrow{margin-bottom:7px}.sector-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--green)}.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.project{display:grid;grid-template-columns:43% 57%;border:1px solid var(--border);min-height:170px;transition:box-shadow .2s,transform .2s}.project:hover{box-shadow:0 8px 25px #15210a0c;transform:translateY(-3px)}.project>div:last-child{padding:20px 15px;display:flex;flex-direction:column;align-items:flex-start}.project h3{text-transform:uppercase;font-size:12px;line-height:1.4;margin-bottom:10px}.project p{font-size:12px;line-height:1.6;margin-bottom:14px}.project .text-button{margin-top:auto;font-size:10px;gap:8px}.project-photo{position:relative;overflow:hidden;background:#e5e8e6}.project-photo .crop{height:100%;aspect-ratio:auto}.contact{border-top:1px solid var(--border);padding:40px 0;display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact h2{font-size:33px;line-height:1.2}.contact>div:last-child{max-width:430px;margin-left:auto}.contact p:not(.eyebrow){font-size:14px;color:var(--muted)}footer{border-top:1px solid var(--border)}.footer-top{display:grid;grid-template-columns:1fr 1.3fr 1.6fr;gap:45px;padding:35px 0}.footer-top .brand{width:255px}.footer-top h3{font-size:12px;text-transform:uppercase;margin:0 0 14px;letter-spacing:.07em}.footer-top div>a,.footer-top button{display:block;font-size:12px;padding:0;margin:3px 0;text-align:left}.footer-top a:hover,.footer-top button:hover{color:var(--green)}.footer-top p{font-size:11px;color:var(--muted);margin-top:12px}.footer-bottom{display:flex;justify-content:space-between;font-size:11px;padding:20px 0;color:var(--muted);border-top:1px solid #f0f1ee}dialog{border:1px solid var(--border);padding:50px;max-width:600px;width:calc(100% - 36px);color:var(--ink)}dialog::backdrop{background:#08100db8;backdrop-filter:blur(4px)}dialog h2{font-size:32px;margin:15px 0 24px}dialog p{font-size:16px;line-height:1.8}dialog .close{position:absolute;top:9px;right:14px;font-size:30px}.skip{position:absolute;top:-100px;left:15px;z-index:20;background:white;padding:10px}.skip:focus{top:10px}@media(min-width:1700px){.hero-copy{padding-left:calc((100vw - 1450px)/2)}.hero{min-height:510px}.hero-art{width:78%}}@media(max-width:1200px){header{gap:24px}.brand{width:205px}nav{gap:18px}.header-cta{min-width:130px;padding:12px}.service{grid-template-columns:44px 1fr;gap:12px}.services{gap:18px}.about{gap:25px}.principle>div{padding:18px}.project{grid-template-columns:1fr}.project-photo{height:130px}.project-photo .crop{width:100%}.project-photo .crop img{top:calc(-1 * var(--y) / var(--h) * 100%)}.project p{font-size:14px}.project h3{font-size:14px}.footer-top{gap:20px}.footer-top .brand{width:210px}}@media(max-width:900px){header{height:88px;justify-content:space-between;padding:15px 6%}.header-cta{display:none}.menu{display:flex;gap:12px;align-items:center;font-size:14px}nav{display:none;position:absolute;top:88px;left:0;right:0;padding:20px 6%;background:white;border-bottom:1px solid var(--border);box-shadow:0 15px 20px #00000008}nav.open{display:grid;grid-template-columns:1fr 1fr;gap:12px}nav a,nav button{text-align:left;font-size:14px}.hero-copy{padding-top:40px;padding-bottom:50px;max-width:500px}.hero-art{right:-33%;width:115%;opacity:.65}.hero-art:after{background:linear-gradient(90deg,#fff 10%,#ffffff99 45%,#fff0)}.services{grid-template-columns:1fr 1fr;gap:28px}.service:nth-child(2){border:0}.service{grid-template-columns:60px 1fr}.service p{font-size:14px}.about{grid-template-columns:1fr}.about-copy{max-width:550px}.about-copy p:not(.eyebrow){font-size:16px}.principle{min-height:260px}.project-grid{grid-template-columns:1fr 1fr}.project{grid-template-columns:40% 60%;min-height:180px}.project-photo{height:auto}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.hero-index{display:none}}@media(max-width:540px){.hero{min-height:460px}.hero-copy{padding-right:6%}h1{font-size:34px;letter-spacing:.005em}.hero-copy>p:not(.eyebrow){font-size:16px;max-width:320px}.hero-art{width:200%;right:-116%;opacity:.35}.hero .eyebrow{font-size:10px}.services{grid-template-columns:1fr;padding:28px 0;gap:24px}.service{border:0;border-bottom:1px solid var(--border);padding:0 0 24px;grid-template-columns:64px 1fr;gap:24px}.service:last-child{padding-bottom:0}.service h3{font-size:16px}.text-button{font-size:12px}.principles{grid-template-columns:1fr}.principle{min-height:200px}.principle>.crop{width:100%;height:100%}.principle>div{padding:24px}.principle h3{font-size:24px;margin-top:15px}.principle p{font-size:14px}.mini{margin-bottom:0}.project-grid{grid-template-columns:1fr}.project{min-height:190px}.project p{font-size:14px}.project .text-button{font-size:12px}.section-head{align-items:start}.sector-label{display:none}.contact{grid-template-columns:1fr;gap:25px}.contact h2{font-size:30px}.contact>div:last-child{margin-left:0}.footer-top{grid-template-columns:1fr 1fr}.footer-top>.brand{grid-column:1/-1}.footer-top h3,.footer-top div>a,.footer-top button{font-size:14px}.footer-top>div:last-child{grid-column:1/-1}.footer-bottom{gap:20px;font-size:11px}dialog{padding:35px 25px}dialog h2{font-size:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.crop>svg{display:block;position:absolute;inset:0;width:100%;height:100%}.service .crop{align-self:start}.service p,.about-copy p:not(.eyebrow){font-size:14px}.text-button{font-size:12px}.project h3{font-size:14px}.project p{font-size:14px}.project .text-button{font-size:12px}.principle .crop>svg{filter:brightness(.88)}

/* Design-engineering polish: responsive feedback, intentional easing, and restrained motion. */
:root{
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-in-out:cubic-bezier(.77,0,.175,1);
}

nav a:after,
nav button:after{
  width:100%;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform 180ms var(--ease-out);
}

nav a:hover:after,
nav button:hover:after,
nav .active:after{
  transform:scaleX(1);
}

.outline{
  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    transform 140ms var(--ease-out);
}

.text-button,
.menu,
.close{
  transition:
    color 160ms ease,
    transform 140ms var(--ease-out);
}

.text-button span{
  transition:transform 180ms var(--ease-out);
}

.hero-image,
.principle-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.hero-image{
  object-position:right center;
}

.brand{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.logo-mark{
  display:block;
  width:100%;
  height:auto;
}

.logo-lockup{
  display:block;
  width:100%;
  height:auto;
}

.logo-tagline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:5px;
  color:#4e544f;
  font-size:9px;
  font-family:"Source Sans 3",Arial,Helvetica,sans-serif;
  font-weight:600;
  letter-spacing:.12em;
  line-height:1;
  text-transform:uppercase;
}

.logo-tagline i{
  width:4px;
  height:4px;
  flex:0 0 auto;
  border-radius:50%;
  background:#8eae22;
}

.service-icon{
  display:block;
  width:100%;
  height:auto;
}

.principle-image{
  position:absolute;
  inset:0;
  filter:brightness(.78);
}

.outline:active,
.text-button:active,
.menu:active,
.close:active{
  transform:scale(.97);
}

.project{
  transition:
    box-shadow 220ms ease,
    transform 220ms var(--ease-out),
    border-color 180ms ease;
}

.project-photo svg,
.principle .crop>svg,
.principle-image{
  transition:transform 500ms var(--ease-out),filter 300ms ease;
}

dialog{
  opacity:0;
  transform:translateY(10px) scale(.985);
  transform-origin:center;
  transition:
    opacity 220ms var(--ease-out),
    transform 220ms var(--ease-out);
}

dialog[open]{
  opacity:1;
  transform:translateY(0) scale(1);
}

dialog.is-closing{
  opacity:0;
  transform:translateY(5px) scale(.99);
  transition-duration:160ms;
}

dialog::backdrop{
  opacity:1;
  transition:opacity 220ms ease;
}

dialog.is-closing::backdrop{
  opacity:0;
  transition-duration:160ms;
}

@starting-style{
  dialog[open]{
    opacity:0;
    transform:translateY(10px) scale(.985);
  }

  dialog[open]::backdrop{
    opacity:0;
  }
}

@media (hover:hover) and (pointer:fine){
  .outline:hover{
    border-color:var(--green);
  }

  .text-button:hover span{
    transform:translateX(4px);
  }

  .project:hover{
    border-color:#cdd5c1;
    box-shadow:0 12px 30px #15210a14;
    transform:translateY(-3px);
  }

  .project:hover .project-photo svg,
  .principle:hover .crop>svg,
  .principle:hover .principle-image{
    transform:scale(1.025);
  }

  .principle:hover .crop>svg,
  .principle:hover .principle-image{
    filter:brightness(.96);
  }
}

@media (min-width:1700px){
  .hero-copy{
    max-width:calc(590px + (100vw - 1450px)/2);
  }
}

@media (max-width:900px){
  nav{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transform-origin:top center;
    transition:
      opacity 180ms var(--ease-out),
      transform 180ms var(--ease-out),
      visibility 0s linear 180ms;
  }

  nav.open{
    display:grid;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
    transition:
      opacity 200ms var(--ease-out),
      transform 200ms var(--ease-out),
      visibility 0s;
  }
}

@media (prefers-reduced-motion:reduce){
  .outline,
  .text-button,
  .menu,
  .close,
  .project,
  .project-photo svg,
  .principle .crop>svg,
  .principle-image,
  nav,
  dialog,
  dialog::backdrop{
    transition-duration:1ms!important;
  }

  .outline:active,
  .text-button:active,
  .menu:active,
  .close:active,
  .project:hover,
  .project:hover .project-photo svg,
  .principle:hover .crop>svg,
  .principle:hover .principle-image{
    transform:none;
  }
}

body{
  font-family:"Source Sans 3",Arial,Helvetica,sans-serif;
  font-weight:400;
}

h1,
h2,
h3,
.contact h2,
dialog h2{
  font-family:Montserrat,Arial,Helvetica,sans-serif;
  font-weight:600;
  letter-spacing:0;
}

h1{
  letter-spacing:.045em;
}

nav a,
nav button,
.outline,
.text-button{
  font-weight:600;
  letter-spacing:.03em;
}

.header-cta{
  font-size:14px;
  min-width:178px;
  padding:12px 20px;
}

.eyebrow,
.mini,
.hero-index,
.footer-top h3{
  font-weight:600;
  letter-spacing:.12em;
}

.services{
  padding:52px 0 36px;
}

.about{
  grid-template-columns:minmax(320px,440px) minmax(0,1fr);
  align-items:stretch;
  padding:52px 0 60px;
}

.about-copy,
.principles,
.principle,
.principle-image{
  min-width:0;
}

.principle{
  min-height:320px;
}

.principle:after{
  background:linear-gradient(180deg,#050c1200 28%,#071018c2 100%);
  transition:opacity 240ms ease;
}

.principle-image{
  filter:brightness(.92);
}

.principle>div{
  padding:28px;
}

.contact{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:40px;
  align-items:start;
  padding:68px 0;
}

.contact>div:last-child,
.contact-form{
  max-width:480px;
  margin-left:0;
}

.contact-form{
  display:grid;
  gap:14px;
}

.contact-form label{
  display:grid;
  gap:7px;
  color:var(--ink);
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.contact-form input,
.contact-form textarea{
  width:100%;
  padding:12px 14px;
  border:1px solid var(--border);
  background:#fff;
  color:var(--ink);
  font-family:Arial,Helvetica,sans-serif;
  font-size:16px;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
  line-height:1.45;
}

.contact-form textarea{
  min-height:128px;
  resize:vertical;
}

.contact-form input:focus,
.contact-form textarea:focus{
  outline:2px solid var(--green);
  outline-offset:2px;
}

.contact-form .outline{
  justify-self:start;
}

.contact-form .outline:disabled{
  opacity:.55;
  cursor:wait;
}

.honey{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}

.form-status{
  margin:0;
  color:var(--green);
  font-size:15px;
}

.form-status.is-error{
  color:#8a2b2b;
}

.form-note{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}

.footer-top{
  grid-template-columns:max-content max-content minmax(280px,380px);
  gap:48px;
  padding:52px 0 32px;
}

.footer-top div>a,
.footer-top button{
  padding:5px 0;
}

@media (hover:hover) and (pointer:fine){
  .principle:hover:after{
    opacity:.72;
  }

  .principle:hover .principle-image{
    filter:brightness(1);
  }
}

.contact-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.contact-actions .outline{
  min-width:0;
}

.sectors{
  padding:52px 0 40px;
  border-top:1px solid var(--border);
}

.sectors-head{
  margin-bottom:28px;
}

.sector-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.sector{
  min-width:0;
  padding:28px 24px;
  border:1px solid var(--border);
}

.sector h3{
  text-transform:uppercase;
  font-size:16px;
  letter-spacing:.05em;
  margin:0 0 12px;
}

.sector p{
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:1.65;
}

@media (hover:hover) and (pointer:fine){
  .sector{
    transition:border-color 180ms ease;
  }

  .sector:hover{
    border-color:#93ad48;
  }
}

@media (max-width:900px){
  .about,
  .contact,
  .sector-grid{
    grid-template-columns:1fr;
  }

  .contact{
    gap:25px;
  }

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

@media (max-width:540px){
  .footer-top>div:last-child{
    grid-column:1/-1;
  }
}

/* Match the original reference typography and preserve small-text clarity. */
body,
button,
a{
  font-family:Arial,Helvetica,sans-serif;
  font-weight:400;
}

h1{
  font-family:Arial,Helvetica,sans-serif;
  font-weight:500;
}

h2,
h3,
.contact h2,
dialog h2,
.service h3,
.sector h3,
.footer-top h3,
.principle h3{
  font-family:Arial,Helvetica,sans-serif;
  font-weight:700;
}

h1{
  letter-spacing:.035em;
}

h2{
  letter-spacing:.02em;
}

nav a,
nav button{
  font-weight:400;
  letter-spacing:.04em;
}

.outline,
.text-button{
  font-weight:400;
  letter-spacing:.06em;
}

.header-cta{
  min-width:160px;
  padding:12px 22px;
  font-size:12px;
}

.eyebrow{
  font-weight:600;
  letter-spacing:.12em;
}

.mini{
  font-weight:400;
  letter-spacing:.1em;
}

.hero-index{
  font-weight:400;
  letter-spacing:.15em;
}

.footer-top h3{
  font-weight:700;
  letter-spacing:.07em;
}

.logo-tagline{
  font-family:Arial,Helvetica,sans-serif;
  font-size:8px;
  font-weight:400;
  letter-spacing:.12em;
}

:root{
  --page-gutter:6%;
}

.logo-lockup{
  display:block;
  width:100%;
  height:auto;
}

.hero-copy{
  padding-left:var(--page-gutter);
}

@media (min-width:901px){
  html{
    scroll-padding-top:118px;
  }

  header{
    height:118px;
    padding:16px var(--page-gutter);
  }

  .brand{
    width:318px;
  }

  .wrap{
    width:auto;
    max-width:1450px;
    margin-left:var(--page-gutter);
    margin-right:var(--page-gutter);
  }

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

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

  .service,
  .principle{
    min-width:0;
  }
}

@media (min-width:1700px){
  :root{
    --page-gutter:max(4vw,calc((100vw - 2200px)/2));
  }

  .wrap{
    width:auto;
    max-width:2200px;
    margin-left:var(--page-gutter);
    margin-right:var(--page-gutter);
  }

  .hero-copy{
    max-width:calc(590px + var(--page-gutter));
    padding-left:var(--page-gutter);
  }

  header{
    height:126px;
    gap:56px;
  }

  .brand{
    width:360px;
  }

  html{
    scroll-padding-top:126px;
  }

  nav{
    max-width:920px;
  }

  .footer-top{
    gap:96px;
  }
}

.contact-details{
  display:grid;
  gap:14px;
  max-width:460px;
  margin:8px 0 0;
  font-style:normal;
}

.contact .contact-name,
.contact-name{
  margin:0 0 2px;
  color:var(--ink);
  font-size:18px;
  font-weight:700;
}

.contact .contact-row,
.contact-row{
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  gap:12px;
  align-items:start;
  margin:0;
  padding:0;
  color:var(--muted);
  font-size:16px;
  line-height:1.55;
  text-align:left;
}

.contact-row svg{
  width:20px;
  height:20px;
  margin-top:2px;
  fill:none;
  stroke:var(--green);
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

a.contact-row:hover,
.contact-row a:hover{
  color:var(--green);
}

@media (min-width:901px){
  body{
    font-size:17px;
  }

  header{
    justify-content:space-between;
  }

  nav{
    flex:1 1 auto;
    justify-content:space-between;
    max-width:820px;
    min-width:0;
    margin:0 4%;
    gap:0;
  }

  nav a,
  nav button{
    font-size:14px;
    letter-spacing:.05em;
  }

  .outline,
  .text-button{
    font-size:13px;
  }

  .header-cta{
    min-width:178px;
    font-size:13px;
  }

  .eyebrow{
    font-size:12px;
  }

  h1{
    font-size:clamp(40px, 3.8vw, 58px);
  }

  h2{
    font-size:30px;
  }

  .service h3,
  .sector h3{
    font-size:16px;
  }

  .service p,
  .sector p,
  .about-copy p:not(.eyebrow),
  .contact p:not(.eyebrow):not(.contact-name):not(.contact-row),
  .principle p{
    font-size:15px;
  }

  .contact h2{
    font-size:36px;
  }

  .footer-top{
    display:grid;
    width:max-content;
    max-width:100%;
    grid-template-columns:max-content max-content minmax(280px,380px);
    justify-content:start;
    gap:72px;
    margin:0;
  }

  .footer-top h3{
    font-size:14px;
  }

  .footer-top div>a,
  .footer-top button{
    font-size:14px;
  }

  .contact-name{
    font-size:18px;
  }

  .contact-row{
    font-size:16px;
  }
}

.contact p.contact-name,
.footer-top p.contact-name{
  font-size:18px;
}

.contact p.contact-row,
.contact a.contact-row,
.footer-top p.contact-row,
.footer-top a.contact-row{
  font-size:16px;
}

.brand{
  width:auto;
}

.logo-lockup{
  width:auto;
  height:62px;
}

@media (min-width:901px){
  .brand{
    width:auto;
  }

  .logo-lockup{
    height:78px;
  }
}

@media (min-width:1700px){
  .brand{
    width:auto;
  }

  .logo-lockup{
    height:86px;
  }
}

.contact-row a{
  color:inherit;
}
