: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="section"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
: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;
}
.curran-nav {
  display:flex;align-items:center;gap:var(--space-m); & a{padding:18px 9px;color:#555;font-size:18px;font-weight:600;white-space:nowrap;text-decoration:none;border-block-end:3px solid transparent;} & a:hover,& a:focus-visible,& a[aria-current=page]{border-color:var(--primary);color:#111;} @media(width < 600px){justify-content:center;gap:4px;flex-wrap:wrap; & a{font-size:12px;padding:12px 8px;min-block-size:44px;}}
}
.curran-header {
  padding:0;border-block-start:20px solid var(--primary);background:var(--white); & a{text-decoration:none;color:inherit;}
}
.curran-header__contact {
  inline-size:var(--content-width-safe);margin-inline:auto;display:flex;justify-content:flex-end;gap:var(--space-xl);padding-block:22px;border-block-end:1px solid #ddd;font:500 16px/1.4 Montserrat,sans-serif; @media(width < 600px){justify-content:center;gap:var(--space-m);font-size:13px;padding-block:12px;}
}
.curran-header__main {
  inline-size:var(--content-width-safe);margin-inline:auto;display:flex;justify-content:space-between;align-items:center;gap:16px;min-block-size:125px; @media(width < 1100px){padding-block:18px;min-block-size:88px;}
}
.curran-logo {
  display:block;flex:0 1 320px;min-inline-size:0; & img{display:block;inline-size:100%;max-inline-size:320px;block-size:auto;}
}
.curran-image {
  display:block;max-inline-size:100%;block-size:auto;border-radius:0;
}
.curran-footer {
  padding:0;margin-block-start:auto;
}
.curran-footer__slogan {
  padding-block:var(--space-xl);background:var(--primary);color:var(--white);text-align:center; & p{font-size:30px;font-weight:600;} @media(width < 600px){ & p{font-size:22px;}}
}
.curran-footer__base {
  background:#222;color:#fff;text-align:center;padding-block:var(--space-l); & > div{gap:var(--space-s);} & nav{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;} & a,& button{color:inherit;text-decoration:none;font-size:14px;} & a:hover,& button:hover{text-decoration:underline;} & p{font-size:13px;}
}
.curran-privacy-settings {
  text-decoration:underline;
}
.curran-skip {
  position:absolute;inset-block-start:8px;inset-inline-start:8px;z-index:10000;background:#fff;color:#127c35;padding:12px;transform:translateY(-200%); &:focus{transform:translateY(0);}
}
.curran-service-card {
  display:block;min-inline-size:0;inline-size:100%;position:relative;isolation:isolate;overflow:hidden;aspect-ratio:2.35;min-block-size:240px;background:#333; &::after{content:'';position:absolute;inset:0;background:rgb(0 0 0 / .3);z-index:1;pointer-events:none;} @media(width < 700px){aspect-ratio:auto;min-block-size:230px;}
}
.curran-service-card__image {
  position:absolute;inset:0;display:block;inline-size:100%;block-size:100%;max-inline-size:100%;aspect-ratio:auto;object-fit:cover;object-position:center;border-radius:0;z-index:0;
}
.curran-contact-form {
  display:grid;grid-template-columns:var(--grid-2);gap:16px 20px;color:var(--white); & input:not([type=checkbox]):not([type=hidden]),& textarea{inline-size:100%;min-inline-size:0;border:1px solid transparent;border-radius:0;padding:15px 12px;background:rgb(255 255 255 / .25);color:var(--white);font:500 16px/1.4 Montserrat,sans-serif;min-block-size:50px;caret-color:var(--white);} & input::placeholder,& textarea::placeholder{color:var(--white);opacity:1;} & input:focus-visible,& textarea:focus-visible{background:rgb(255 255 255 / .31);outline:2px solid var(--white);outline-offset:2px;} & textarea{resize:vertical;min-block-size:145px;} & > :not(.curran-field){grid-column:1/-1;} & p{font-size:13px;} & [aria-invalid=true]{outline:2px solid #f3a18d;} @media(width < 480px){grid-template-columns:1fr;gap:14px;}
}
.curran-field {
  display:block;min-inline-size:0;position:relative; & > span{position:absolute;inline-size:1px;block-size:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
}
.curran-preference {
  border:0;padding:0;display:flex;gap:20px;flex-wrap:wrap; & legend{font-size:13px;margin-block-end:0;} & label{display:flex;align-items:center;gap:8px;min-block-size:40px;font-size:14px;} & input{inline-size:18px;block-size:18px;accent-color:var(--primary);}
}
.curran-honeypot {
  position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);
}
.curran-verification {
  grid-column:1/-1;min-inline-size:0;
}
.curran-submit {
  background:#2e7900;color:var(--white);padding:10px 28px;justify-self:start;inline-size:150px;max-inline-size:100%;min-block-size:44px;font:500 17px/1.4 Montserrat,sans-serif;border:0;border-radius:0; &:disabled{opacity:.65;cursor:wait;} &:hover:not(:disabled){background:#225a00;}
}
.curran-form-status {
  font-size:14px!important;min-block-size:1.7em;
}
.curran-contact-section {
  margin-block-start:var(--space-xl);padding:0;background:linear-gradient(#000b,#000b),url('../assets/50-year-banner.webp') center/cover; & > div{inline-size:100%;max-inline-size:none;}
}
.curran-contact-layout {
  display:grid;grid-template-columns:var(--grid-2);gap:0; @media(width < 768px){grid-template-columns:1fr;}
}
.curran-contact-panel {
  padding:clamp(28px,4.2vw,72px); & h2{color:var(--white);font-size:32px;font-weight:400;margin-block-end:26px;} & h2::after{content:'';display:block;inline-size:60px;block-size:10px;background:var(--white);margin-block-start:24px;} @media(width < 768px){padding:var(--space-l) var(--gutter); & h2{font-size:30px;}}
}
.curran-map-panel {
  display:block;min-inline-size:0;min-block-size:600px;position:relative;padding:0;background:#e5e7e2; & iframe{display:block;position:absolute;inset:0;inline-size:100%;block-size:100%;min-block-size:100%;border:0;} @media(width < 768px){min-block-size:400px;}
}
.curran-map-link {
  color:#153c23;background:#fff;padding:var(--space-m);text-align:center;text-decoration:underline;max-inline-size:85%;
}
.curran-mission {
  padding:0;background:linear-gradient(#0004,#0004),url('../assets/home-banner.webp') center/cover;min-block-size:550px;display:flex;align-items:center;justify-content:center;justify-content:center; & > div{inline-size:100%;max-inline-size:none;} @media(width < 768px){min-block-size:340px;}
}
.curran-mission__copy {
  background:#0008;color:var(--white);padding:45px max(var(--gutter),calc((100% - 900px)/2)); & h2{font:400 56px/1.4 Montserrat,sans-serif;color:inherit;margin-block-end:var(--space-l);} & p{font-size:28px;line-height:1.5;} @media(width < 768px){padding:30px var(--gutter); & h2{font-size:34px;margin-block-end:var(--space-m);} & p{font-size:19px;}}
}
.curran-intro {
  padding-block:var(--section-space-s); & > div{gap:var(--space-xl);} & h1{font-size:36px;font-weight:600;border-block-end:1px solid #ccc;padding-block-end:var(--space-m);margin-block-end:var(--space-m);} & > div > img,& > div > picture{inline-size:100%;margin-block:var(--space-l);} @media(width < 768px){ & h1{font-size:27px;}}
}
.curran-intro__content {
  display:grid;grid-template-columns:214px 1fr;gap:var(--space-m);align-items:start; & p + p{margin-block-start:var(--space-m);} @media(width < 600px){grid-template-columns:1fr; & > img{margin-inline:auto;}}
}
.curran-employee {
  inline-size:214px;block-size:auto;border-radius:0;
}
.curran-expertise {
  padding-block:var(--section-space-xs); & h2{font-size:30px;margin-block-end:var(--space-l);padding-block-end:var(--space-m);border-block-end:1px solid #ccc;}
}
.curran-expertise-list {
  display:grid;grid-template-columns:var(--grid-2);grid-template-rows:repeat(5,auto);grid-auto-flow:column;column-gap:var(--space-xl);row-gap:20px;list-style:none;padding:0;columns:auto; & li{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:10px;align-items:start;position:relative;padding:0;margin:0;font-size:18px;line-height:1.65;break-inside:avoid;} & li::before{content:'';display:block;position:static;inline-size:20px;block-size:30px;background:var(--primary);mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2032%22%3E%3Cpath%20d%3D%22M6%205L17%2016L6%2027%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%227%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2032%22%3E%3Cpath%20d%3D%22M6%205L17%2016L6%2027%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%227%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;} @media(width < 700px){grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row; & li{font-size:16px;grid-template-columns:18px minmax(0,1fr);} & li::before{inline-size:18px;block-size:26px;}}
}
.curran-title-banner {
  position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;align-items:stretch;min-block-size:550px;padding:0;background:#333;color:var(--white);overflow:hidden; &::after{content:'';position:absolute;inset:0;background:rgb(0 0 0 / .25);z-index:1;pointer-events:none;}
}
.curran-about {
  padding-block:var(--section-space-s); & h2{font-size:30px;} & p + p{margin-block-start:var(--space-m);} & > div > img{inline-size:100%;margin-block-start:var(--space-xl);}
}
.curran-about__grid {
  display:grid;grid-template-columns:3fr 1fr;gap:var(--space-xl); @media(width < 700px){grid-template-columns:1fr;}
}
.curran-about__history {
  display:flex;flex-direction:column;gap:var(--space-l);align-items:center; & img{max-inline-size:100%;} @media(width < 700px){flex-direction:row; & img{max-inline-size:45%;}}
}
.curran-services-intro {
  padding-block:var(--section-space-s); & img{inline-size:100%;margin-block-start:var(--space-xl);}
}
.curran-services {
  padding-block:var(--section-space-xs) var(--section-space-s); & > div{gap:0;} & h2{font-size:30px;margin:0;} & h2::after{content:'';display:block;inline-size:60%;border-block-end:1px solid #ccc;margin-block:24px 70px;} @media(width < 600px){& h2{font-size:26px;} & h2::after{inline-size:100%;margin-block-end:32px;}}
}
.curran-services-grid {
  display:grid;grid-template-columns:var(--grid-2);gap:40px; @media(width < 700px){grid-template-columns:1fr;gap:24px;}
}
.curran-projects {
  padding:40px 20px 20px;background:#fff;color:#333; & h2{font:400 30px/1.4 Montserrat,sans-serif;margin:0;} @media(width < 700px){ & h2{font-size:26px;}}
}
.curran-customer-groups {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;align-items:start; & > div{display:flex;flex-direction:column;gap:40px;min-inline-size:0;} & img{display:block;inline-size:100%;max-inline-size:560px;block-size:auto;object-fit:contain;} @media(width < 768px){grid-template-columns:minmax(0,1fr);gap:40px;}
}
.curran-project-examples {
  display:grid;grid-template-columns:minmax(0,41fr) minmax(0,59fr);gap:0;align-items:start;margin-inline:-20px; & > :nth-child(n+3){grid-column:1/-1;} @media(width < 768px){grid-template-columns:minmax(0,1fr); & > *{grid-column:1/-1;}}
}
.curran-legal {
  padding-block:var(--section-space-s);min-block-size:400px; & .policy_embed_div{inline-size:100%;} & p{margin-block-end:var(--space-m);} & a{color:var(--primary);text-decoration:underline;}
}
.curran-map-load {
  min-block-size:44px;background:var(--primary);color:var(--white);padding:12px 24px;
}
.curran-field--message {
  grid-column:1/-1;
}
.curran-form-disclosure {
  grid-column:1/-1;font-size:12px;line-height:1.5;
}
.curran-service-card__title {
  position:absolute;inset-inline:25px;inset-block-end:35px;z-index:2;margin:0;padding:0;color:var(--white);font:500 28px/1.4 Montserrat,sans-serif;text-align:start;white-space:pre-line;text-wrap:wrap; @media(width < 700px){inset-inline:20px;inset-block-end:24px;font-size:23px;line-height:1.35;}
}
.curran-title-banner__container {
  display:block;position:static;inline-size:100%;max-inline-size:none;gap:0;margin:0;padding:0;
}
.curran-title-banner__image {
  position:absolute;inset:0;display:block;inline-size:100%;block-size:100%;max-inline-size:100%;object-fit:cover;object-position:center;border-radius:0;z-index:0;
}
.curran-title-banner__band {
  position:relative;z-index:2;display:flex;align-items:center;justify-content:center;inline-size:100%;padding:46px var(--gutter);background:rgb(0 0 0 / .5);
}
.curran-title-banner__title {
  margin:0;padding:0;inline-size:100%;max-inline-size:var(--content-width);color:var(--white);font:500 56px/1.4 Montserrat,sans-serif;text-align:center;text-wrap:balance; @media(width < 768px){font-size:36px;} @media(width < 400px){font-size:32px;}
}
.curran-contact-page {
  background:#fff;color:#333;padding:60px 20px 120px; & .curran-contact-form{color:#333;gap:35px 20px; & input:not([type=checkbox]):not([type=hidden]),& textarea{background:#f4f4f4;border:1px solid #d8d8d8;color:#333;caret-color:#333;min-block-size:65px;font:400 16px/1.4 Arial,sans-serif;padding:12px;} & input::placeholder,& textarea::placeholder{color:#737373;} & input:focus-visible,& textarea:focus-visible{outline:2px solid #719ece;outline-offset:2px;background:#f4f4f4;} & textarea{block-size:140px;min-block-size:140px;} } & .curran-preference{display:flex;flex-direction:column;gap:0; & legend{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);} & label{min-block-size:32px;font:400 16px/1.4 Arial,sans-serif;} } & .curran-submit{background:#333;inline-size:auto;padding:10px 12px;font:400 16px/1.4 Arial,sans-serif; &:hover:not(:disabled){background:#000;} } & .curran-form-status{color:#333;} & .curran-form-status[data-state=error]{color:#a12929;} & .curran-form-status[data-state=success]{color:#25632b;} & .curran-form-disclosure{color:#555;} @media(width < 768px){padding-block:40px 70px;} @media(width < 480px){ & .curran-contact-form{gap:24px;} }
}
.curran-contact-page__container {
  display:block;inline-size:100%;max-inline-size:1160px;margin-inline:auto;
}
.curran-contact-page__heading {
  font:600 36px/1.4 Montserrat,sans-serif;color:#333;margin:0 0 35px; &::after{content:'';display:block;inline-size:60%;block-size:1px;background:#ccc;margin-block-start:22px;} @media(width < 768px){font-size:30px;}
}
.curran-contact-page__columns {
  display:grid;grid-template-columns:minmax(0,72fr) minmax(0,28fr);align-items:start;gap:0; @media(width < 768px){grid-template-columns:minmax(0,1fr);gap:44px;}
}
.curran-contact-page__form {
  min-inline-size:0;padding-inline-end:7%; @media(width < 768px){padding:0;}
}
.curran-contact-details {
  display:grid;gap:34px;padding:5px 0 0 20px;min-inline-size:0; @media(width < 768px){padding:0;gap:25px;}
}
.curran-contact-detail {
  display:flex;align-items:center;gap:10px;min-inline-size:0; & p,& a{margin:0;color:#222;font:500 23px/1.4 Montserrat,sans-serif;white-space:pre-line;text-decoration:none;overflow-wrap:anywhere;} & a:hover{text-decoration:underline;} @media(width < 1100px){ & p,& a{font-size:19px;} }
}
.curran-contact-detail__icon {
  display:block;flex:0 0 30px;inline-size:30px;block-size:30px;background:#127c35;mask-size:contain;mask-position:center;mask-repeat:no-repeat;
}
.curran-contact-detail__icon--address {
  mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M5%202h13a2%202%200%200%201%202%202v3h2v2h-2v6h2v2h-2v3a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2V4a2%202%200%200%201%202-2Zm7%204a3%203%200%201%200%200%206%203%203%200%200%200%200-6Zm-5%2012h10v-1a5%205%200%200%200-10%200v1Z%22%2F%3E%3C%2Fsvg%3E");
}
.curran-contact-detail__icon--phone {
  mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M6.6%2010.8a15.6%2015.6%200%200%200%206.6%206.6l2.2-2.2a1%201%200%200%201%201-.24c1.1.36%202.3.55%203.6.55a1%201%200%200%201%201%201V20a1%201%200%200%201-1%201C10.6%2021%203%2013.4%203%204a1%201%200%200%201%201-1h3.5a1%201%200%200%201%201%201c0%201.3.19%202.5.55%203.6a1%201%200%200%201-.24%201l-2.2%202.2Z%22%2F%3E%3C%2Fsvg%3E");
}
.curran-contact-detail__icon--fax {
  mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M7%202h13v5h1a2%202%200%200%201%202%202v11a2%202%200%200%201-2%202H7V2Zm3%202v4h7V4h-7Zm0%207v2h2v-2h-2Zm4%200v2h2v-2h-2Zm4%200v2h2v-2h-2Zm-8%204v2h2v-2h-2Zm4%200v2h2v-2h-2Zm4%200v2h2v-2h-2Zm-8%204v1h6v-1h-6ZM2%206h3v16H2a1%201%200%200%201-1-1V7a1%201%200%200%201%201-1Z%22%2F%3E%3C%2Fsvg%3E");
}
.curran-contact-page-map {
  display:block;padding:0;margin:0;background:#e5e7e2;
}
.curran-contact-page-map__container {
  display:block;inline-size:100%;max-inline-size:none;padding:0;margin:0; & iframe{display:block;inline-size:100%;block-size:600px;border:0;}
}
.curran-projects__container {
  display:block;inline-size:100%;max-inline-size:1160px;margin-inline:auto;padding:0;gap:0;
}
.curran-projects__intro {
  font:400 16px/1.65 Arial,sans-serif;margin:0 0 56px;
}
.curran-projects__examples-heading {
  margin-block:40px 20px !important;
}
.curran-project-collage {
  min-inline-size:0;padding:20px; & img{display:block;inline-size:auto;max-inline-size:100%;block-size:auto;object-fit:contain;}
}
.curran-navigation {
  display:flex;align-items:center;min-inline-size:0; @media(width < 1100px){ &[data-enhanced=true] > .curran-nav{display:none;} &[data-enhanced=true] > .curran-menu-toggle{display:inline-flex;} }
}
.curran-menu-toggle {
  display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;inline-size:48px;block-size:48px;flex-shrink:0;padding:0;border:1px solid var(--primary);border-radius:0;background:var(--primary);color:#fff;cursor:pointer; &:hover{background:#0d6028;} &:focus-visible{outline:3px solid #127c35;outline-offset:4px;}
}
.curran-menu-toggle__bar {
  display:block;inline-size:22px;block-size:2px;background:currentColor;pointer-events:none;
}
.curran-flyout {
  display:none;position:fixed;inset:0 0 0 auto;margin:0;inline-size:min(88vw,380px);max-inline-size:100vw;block-size:100dvh;max-block-size:100dvh;padding:24px;border:0;border-block-start:8px solid var(--primary);background:#fff;color:#333;overflow-y:auto;overscroll-behavior:contain;gap:24px;transform:translateX(100%);transition:transform .22s ease-out,display .22s allow-discrete,overlay .22s allow-discrete; &[open]{display:flex;flex-direction:column;transform:translateX(0);@starting-style{transform:translateX(100%);}} &::backdrop{background:rgb(0 0 0 / .48);} @media(prefers-reduced-motion:reduce){transition:none;}
}
.curran-flyout__top {
  display:flex;align-items:center;justify-content:space-between;gap:20px; & h2{font:600 26px/1.3 Montserrat,sans-serif;margin:0;}
}
.curran-flyout__close {
  display:block;position:relative;inline-size:48px;block-size:48px;flex:0 0 48px;padding:0;border:1px solid #ccc;border-radius:0;background:#fff;color:#127c35;cursor:pointer; &::before,&::after{content:'';position:absolute;inset:23px 12px auto;block-size:2px;background:currentColor;transform:rotate(45deg);} &::after{transform:rotate(-45deg);} &:hover{background:#eaf4ed;} &:focus-visible{outline:3px solid #127c35;outline-offset:3px;}
}
.curran-flyout__links {
  display:flex;flex-direction:column;gap:0; & a{display:flex;align-items:center;min-block-size:60px;padding:14px 4px;border-block-end:1px solid #ddd;font:600 18px/1.5 Montserrat,sans-serif;color:#333;text-decoration:none;} & a:hover,& a[aria-current=page]{color:#127c35;background:#eaf4ed;} & a:focus-visible{outline:2px solid #127c35;outline-offset:-2px;}
}
.curran-flyout__contact {
  display:grid;gap:8px;margin-block-start:auto;padding-block-start:24px;border-block-start:1px solid #ddd; & p{font-weight:600;margin:0;} & a{display:flex;align-items:center;min-block-size:44px;color:#127c35;font-size:16px;text-decoration:underline;text-underline-offset:4px;}
}
html:has(.curran-flyout[open]) {
  overflow:hidden;
}