@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#101b20;--muted:#566368;--paper:#f6f8f7;--lime:#ddf46f;--line:#ced7d7;--heading:'Manrope',Arial,sans-serif;--body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:1rem;line-height:1.6}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #719800;outline-offset:6px}::selection{background:var(--lime);color:var(--ink)}.wrap{width:min(100% - 7rem,1440px);margin-inline:auto}.preview-note{background:#25363c;color:#eef4f4;text-align:center;padding:.5rem 1rem;font-size:.8125rem;line-height:1.5}.preview-note span{margin:0 .5rem;color:var(--lime)}.header{height:106px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.wordmark{font-family:var(--heading);font-size:1.85rem;letter-spacing:-.095rem;font-weight:800;line-height:1.2}.wordmark-dot{color:#527020}.header nav{display:flex;gap:2.25rem;font-size:.9375rem;font-weight:500}.header nav a{border-bottom:1px solid transparent;padding:.35rem 0}.header nav a:hover{border-color:var(--ink)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2.5rem;background:var(--lime);color:var(--ink);padding:1rem 1.4rem;font-size:.9375rem;font-weight:700;border:1px solid transparent;min-height:52px;transition:background .2s,transform .2s}.button:hover{background:#e9ff8b;transform:translateY(-2px)}.button span[aria-hidden]{font-size:1.4rem;font-weight:400;line-height:1}.button-small{background:var(--ink);color:white;padding:.72rem 1.15rem;min-height:46px;gap:2rem}.button-small:hover{background:#2d424b}.hero{min-height:660px;height:min(780px,78vh);position:relative;color:white;isolation:isolate;background:#304b58;overflow:hidden}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,26,33,.62),rgba(9,26,33,.07)),linear-gradient(0deg,rgba(6,20,25,.8),transparent 65%);z-index:-2}.hero-content{height:100%;min-height:inherit;display:flex;flex-direction:column;padding-block:2.4rem 3.5rem}.eyebrow{margin:0 0 1.5rem;font-size:.8125rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600;line-height:1.7}.hero-eyebrow{display:flex;justify-content:space-between;color:#f3f6f6}.hero-eyebrow span{text-transform:none;letter-spacing:0;font-size:.875rem;font-weight:400}h1,h2,h3,p{overflow-wrap:break-word}h1,h2,h3{font-family:var(--heading);font-weight:500}h1{font-size:clamp(4.2rem,8.15vw,8.5rem);letter-spacing:-.065em;line-height:1.01;margin:auto 0 2.1rem;max-width:1050px}h1>span{color:var(--lime)}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem}.hero-bottom p{margin:0;font-size:1.125rem;line-height:1.55;color:#f0f4f3}.hero-bottom .button{min-width:225px}.region-strip{display:flex;justify-content:space-between;align-items:center;padding-block:1.45rem;border-bottom:1px solid var(--line);font-size:.875rem}.region-strip>span{font-weight:600}.region-strip p{margin:0;color:var(--muted)}.region-strip b{font-weight:400;padding:0 1.5rem;color:#74838a}.section{padding-block:7rem}.services{display:grid;grid-template-columns:1fr 1.02fr;gap:5rem}h2{font-size:clamp(2.5rem,3.75vw,4.2rem);letter-spacing:-.055em;line-height:1.12;margin:0}h3{font-size:1.5rem;letter-spacing:-.035em;line-height:1.3;margin:0 0 .75rem}.service-list article{display:grid;grid-template-columns:2.4rem 1fr;gap:1.7rem;border-top:1px solid var(--line);padding:1.75rem 0}.service-list article:first-child{padding-top:1.5rem}.service-list article:last-child{padding-bottom:0}.service-number{font-size:.8125rem;color:#6a777d;padding-top:.2rem}.service-list p{color:var(--muted);max-width:470px;margin:0;line-height:1.65}.work-section{background:var(--ink);color:#f4f8f7}.work-inner{padding-block:6rem;display:grid;grid-template-columns:1fr 1.02fr;gap:5rem}.work-section .eyebrow{color:var(--lime)}.work-intro{color:#becbce;font-size:1.0625rem;margin-top:1.75rem}.social-work>a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 0 2rem;border-bottom:1px solid #465358}.social-work>a:first-child{padding-top:0}.social-work>a:last-child{padding-top:2rem}.social-work small{display:block;color:#becbce;font-size:.875rem;margin-bottom:.7rem}.social-work strong{display:block;font-family:var(--heading);font-weight:500;letter-spacing:-.04em;font-size:2rem;line-height:1.3}.social-handle{display:block;font-size:.875rem;color:#becbce;margin-top:.4rem}.circle-arrow{width:58px;height:58px;flex:none;display:grid;place-items:center;border:1px solid #69787d;border-radius:50%;font-size:1.65rem;transition:background .2s,color .2s}.social-work a:hover .circle-arrow{background:var(--lime);color:var(--ink);border-color:var(--lime)}.region{display:grid;grid-template-columns:1fr 1.02fr;gap:5rem}.region-copy>p{font-size:1.125rem;color:var(--muted);margin:0 0 1.4rem;line-height:1.7}.state-labels{display:flex;gap:2.5rem;border-top:1px solid var(--line);margin-top:2rem;padding-top:1.5rem}.state-labels span{font-family:var(--heading);font-size:2.3rem;font-weight:500;letter-spacing:-.05em}.contact-section{background:var(--lime)}.contact-inner{padding-block:5rem;display:flex;align-items:flex-end;justify-content:space-between;gap:3rem}.contact-inner h2{font-size:clamp(2.75rem,4.6vw,5rem)}.contact-details p{line-height:1.6;margin:0 0 1.6rem}.button-dark{background:var(--ink);color:#fff;gap:2rem}.button-dark:hover{background:#2d424b}.footer{display:flex;justify-content:space-between;gap:3rem;padding-block:3rem}.footer .wordmark{font-size:1.6rem}.footer p{font-size:.875rem;color:var(--muted);margin:1rem 0 0}.footer-right{text-align:right}.footer-right p:first-child{margin-top:0}.footer-right>a{display:inline-block;margin-left:1.5rem;font-size:.875rem;margin-top:.6rem;border-bottom:1px solid var(--line)}.footer-right .photo-credit{font-size:.75rem;max-width:480px}.photo-credit a{text-decoration:underline}.skip{position:absolute;top:-100px;left:1rem;background:white;padding:1rem;z-index:5}.skip:focus{top:1rem}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1800px){.hero{max-height:850px}}
@media(max-width:1000px){.wrap{width:calc(100% - 4rem)}.header{gap:1rem;height:95px}.header nav{gap:1.3rem}.wordmark{font-size:1.6rem}.services,.region,.work-inner{gap:3rem}.region-strip{align-items:flex-start;gap:2rem}.region-strip b{padding:0 .65rem}.section{padding-block:5rem}.hero{min-height:610px}.contact-inner{gap:2rem}.contact-details br{display:none}}
@media(max-width:720px){.wrap{width:calc(100% - 2.5rem)}.preview-note{font-size:.75rem}.header{height:auto;min-height:106px;flex-wrap:wrap;gap:1.1rem;padding-block:1.1rem}.wordmark{font-size:1.55rem}.header .button{font-size:.8125rem;min-height:42px;padding:.6rem .85rem;gap:1.2rem}.header nav{order:3;width:100%;justify-content:space-between;gap:1rem;font-size:.875rem}.hero{min-height:620px;height:calc(85svh - 100px);max-height:790px}.hero-content{padding-block:1.5rem 2rem}.hero-eyebrow{font-size:.75rem;flex-direction:column;gap:.3rem}.hero-eyebrow span{font-size:.8125rem}.hero h1{font-size:clamp(3.45rem,12vw,5.3rem);margin-bottom:1.5rem}.hero-bottom{align-items:flex-start;flex-direction:column;gap:1.5rem}.hero-bottom p{font-size:1rem}.hero-bottom p br{display:none}.hero-bottom .button{min-width:210px}.hero-shade{background:linear-gradient(0deg,rgba(6,20,25,.87),rgba(9,26,33,.18) 95%)}.region-strip{display:block;padding-block:1.5rem;font-size:.8125rem}.region-strip p{margin-top:.45rem}.region-strip b{padding:0 .35rem}.services,.region,.work-inner{grid-template-columns:1fr;gap:2.5rem}.section,.work-inner{padding-block:4rem}.eyebrow{font-size:.75rem;margin-bottom:1rem}h2{font-size:2.75rem}h3{font-size:1.4rem}.service-list article{grid-template-columns:1.5rem 1fr;gap:1rem;padding-block:1.5rem}.service-list p{font-size:1rem}.work-intro{margin-bottom:0}.social-work strong{font-size:1.8rem}.region-copy>p{font-size:1.0625rem}.contact-inner{display:block;padding-block:3.5rem}.contact-inner h2{font-size:3rem}.contact-details{margin-top:2rem}.contact-details p{max-width:330px}.footer{display:block;padding-block:2.5rem}.footer-right{text-align:left;margin-top:2rem}.footer-right>a{margin: .5rem 1.5rem 0 0}.state-labels{gap:2.5rem}.footer .photo-credit{margin-top:1.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.circle-arrow{transition:none}.button:hover{transform:none}}

/* Give the tower room beside the headline while retaining the approved layout. */
.hero-image{width:120%;object-position:center 45%}
.hero-shade{background:linear-gradient(90deg,rgba(9,26,33,.67),rgba(9,26,33,.04) 78%),linear-gradient(0deg,rgba(6,20,25,.78),transparent 75%)}
.work-inner{padding-bottom:3rem}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.8rem 1.6rem;padding-bottom:6rem}
.gallery figure{min-width:0;margin:0}
.gallery-link{position:relative;display:block;background:#0a1216;aspect-ratio:4/3;overflow:hidden}
.gallery-link img{display:block;width:100%;height:100%;object-fit:contain}
.photo-open{position:absolute;top:.8rem;right:.8rem;padding:.4rem .7rem;background:rgba(16,27,32,.9);color:white;font-size:.8125rem;opacity:0;transition:opacity .2s}
.gallery-link:hover .photo-open,.gallery-link:focus-visible .photo-open{opacity:1}
.gallery-link:focus-visible{outline-color:var(--lime);outline-offset:5px}
.gallery figcaption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.2rem 1rem;padding-top:.9rem;font-size:.9375rem;line-height:1.5}
.gallery figcaption span:last-child{color:#afbec4;font-size:.8125rem}
.lightbox{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:1.2rem 2rem;border:0;color:#f4f8f7;background:rgba(8,15,19,.98)}
.lightbox[open]{display:flex;flex-direction:column}
.lightbox::backdrop{background:rgba(0,0,0,.9)}
.viewer-top,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-shrink:0;width:min(100%,1600px);margin-inline:auto}
.viewer-top{min-height:52px;font-size:.875rem;color:#bdcace}
.lightbox button{font:inherit;cursor:pointer;color:#fff;background:transparent;border:1px solid #65767e;min-width:48px;min-height:48px;flex-shrink:0}
.lightbox button:hover{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.lightbox button:focus-visible{outline:3px solid var(--lime);outline-offset:4px}
.viewer-close{display:flex;align-items:center;gap:1.5rem;padding:.5rem 1rem}
.viewer-close span{font-size:1.5rem;line-height:1}
.viewer-image{min-height:0;flex:1;display:flex;align-items:center;justify-content:center;padding:1rem 0}
.viewer-image img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.viewer-bottom{min-height:60px}
.viewer-bottom p{text-align:center;font-size:1rem;margin:.5rem 0}
.viewer-open{overflow:hidden}
@media(max-width:1000px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1.4rem}.hero-image{width:110%}}
@media(max-width:720px){.hero-image{width:100%;object-position:55% 25%}.hero-shade{background:linear-gradient(0deg,rgba(6,20,25,.9),rgba(9,26,33,.05) 90%)}.work-inner{padding-bottom:2.5rem}.gallery{grid-template-columns:1fr;padding-bottom:4rem;gap:2rem}.gallery-link{aspect-ratio:auto}.gallery-link img{height:auto}.photo-open{opacity:1;font-size:.75rem}.lightbox{padding:1rem}.viewer-bottom p{font-size:.9375rem}.viewer-close{gap:1rem}}
@media(hover:none){.photo-open{opacity:1}}
@media(prefers-reduced-motion:reduce){.photo-open{transition:none}}

.contact-phone span{display:block;font-size:.875rem;margin-bottom:.3rem}
.contact-phone a{display:inline-block;font-family:var(--heading);font-size:clamp(1.75rem,2.5vw,2.4rem);font-weight:600;line-height:1.4;letter-spacing:-.035em;border-bottom:1px solid currentColor;min-height:44px}
.contact-phone a:hover{opacity:.75}

.contact-details{min-width:0}
