:root{--green:#0e321d;--moss:#37691d;--lime:#9acb21;--cream:#f1efdf;--tan:#d2c8aa;--black:#111811;--muted:#6b7065}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--black);font-family:Montserrat,Arial,sans-serif}
.topline{height:31px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:var(--lime);font:500 9px/1 "DM Mono",monospace;letter-spacing:.09em}
.topline a{color:var(--black);text-decoration:none}
header{height:88px;padding:0 5vw;display:flex;align-items:center;position:absolute;top:31px;left:0;right:0;z-index:4;border-bottom:1px solid rgba(255,255,255,.25)}
.logo-link{display:block;width:154px;background:white;line-height:0}
.logo-link img{width:100%;height:auto}
nav{display:flex;gap:35px;margin:auto}
nav a{color:white;text-decoration:none;text-transform:uppercase;font:700 10px/1 "DM Mono",monospace;letter-spacing:.1em}
.header-cta{color:var(--black);background:var(--lime);padding:13px 16px;text-decoration:none;text-transform:uppercase;font:800 10px/1 "DM Mono",monospace;letter-spacing:.06em}
.header-cta span{font-size:16px;margin-left:12px}
.menu-toggle{display:none}
.hero{height:720px;min-height:620px;color:white;position:relative;overflow:hidden}
.hero-photo{position:absolute;inset:0;background:url('assets/pond-garden.jpg') center 38%/cover no-repeat;filter:saturate(.78)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,21,13,.88) 0%,rgba(10,30,17,.53) 48%,rgba(10,24,14,.17) 100%)}
.hero-content{position:relative;z-index:1;padding:205px 7.8vw 0}
.kicker{font:500 10px/1.2 "DM Mono",monospace;letter-spacing:.12em;margin:0 0 19px}
.hero h1,h2{font-family:"Barlow Condensed",Impact,sans-serif;font-size:clamp(63px,8vw,120px);font-weight:800;line-height:.78;letter-spacing:-.04em;text-transform:uppercase;margin:0}
.hero h1 i,h2 i{color:var(--lime);font-style:italic}
.hero-copy{max-width:405px;font-size:13px;line-height:1.8;margin:30px 0}
.hero-actions{display:flex;gap:30px;align-items:center}
.button,.submit{padding:18px 20px;background:var(--lime);color:var(--black);border:0;text-decoration:none;font:800 10px/1 "DM Mono",monospace;letter-spacing:.07em;text-transform:uppercase;cursor:pointer}
.button span,.submit span{font-size:15px;margin-left:23px}
.phone-link{font:700 13px/1.4 "Barlow Condensed",sans-serif;letter-spacing:.05em;color:#fff;text-decoration:none}
.phone-link small{font:500 9px/1 "DM Mono",monospace;display:block;letter-spacing:.1em;color:#c8d0c6}
.hero-stamp{position:absolute;z-index:1;right:6vw;bottom:76px;display:flex;gap:12px;align-items:center;transform:rotate(-8deg);font:500 8px "DM Mono",monospace;letter-spacing:.1em}
.hero-stamp b{font-size:18px;color:var(--lime)}
.hero-bottom{position:absolute;z-index:1;bottom:0;left:0;right:0;padding:17px 5vw;border-top:1px solid rgba(255,255,255,.3);display:flex;justify-content:space-between;font:500 8px "DM Mono",monospace;letter-spacing:.1em}
.intro{display:grid;grid-template-columns:.65fr 1.35fr .9fr;gap:6vw;padding:130px 8vw}
.intro-tag{display:flex;gap:14px;font:500 9px/1.5 "DM Mono",monospace;letter-spacing:.09em}
.intro-tag span{color:var(--moss)}
.intro-tag p{margin:0}
.intro h2,.services h2,.work h2,.area h2,.contact h2{font-size:clamp(52px,6vw,91px);color:var(--green)}
.intro-copy{align-self:end}
.intro-copy>p{font-size:13px;line-height:1.8;margin:0 0 27px}
.arrow-link{color:var(--green);font:800 10px "DM Mono",monospace;letter-spacing:.05em;text-decoration:none;text-transform:uppercase;border-bottom:1px solid var(--green);padding-bottom:7px}
.arrow-link span{margin-left:21px;font-size:15px}
.services{background:var(--green);color:var(--cream);padding:108px 8vw;display:grid;grid-template-columns:.8fr 1.3fr;gap:9vw}
.services .kicker{color:#c2d8a4}
.services h2{color:#fff}
.services-title>p:last-child{font-size:12px;line-height:1.7;max-width:292px;color:#c6d0c2;margin-top:30px}
.service-grid{border-top:1px solid #59705d}
.service-grid article{min-height:148px;border-bottom:1px solid #59705d;display:grid;grid-template-columns:42px 1fr 1.1fr 20px;gap:14px;align-items:center}
.service-grid span{font:500 9px "DM Mono",monospace;color:var(--lime)}
.service-grid h3{font:800 28px/.83 "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:-.02em;margin:0}
.service-grid p{font-size:11px;line-height:1.65;color:#bfcabb}
.service-grid b{font-size:19px;color:var(--lime)}
.work{padding:120px 5vw}
.section-top{display:flex;justify-content:space-between;align-items:end;margin:0 3vw 52px}
.section-top>p{max-width:230px;font-size:12px;line-height:1.7}
.project-grid{display:grid;grid-template-columns:1.4fr .85fr .85fr;gap:18px;align-items:start}
.project{margin:0}
.project img{display:block;width:100%;height:360px;object-fit:cover;filter:saturate(.8)}
.project-pond img{height:530px}
.project-rock{margin-top:92px}
.project-rock img{height:340px}
.project figcaption{display:flex;justify-content:space-between;gap:8px;font:500 8px/1.4 "DM Mono",monospace;letter-spacing:.07em;text-transform:uppercase;margin-top:10px;color:#495448}
.statement{background:var(--lime);padding:100px 8vw;display:grid;grid-template-columns:.65fr 1.4fr .6fr;gap:4vw;align-items:center}
.statement-mark{font-size:46px}
.statement blockquote{font:800 clamp(49px,6.2vw,92px)/.84 "Barlow Condensed",sans-serif;letter-spacing:-.035em;text-transform:uppercase;margin:0}
.statement blockquote i{font-style:italic}
.statement>p{font-size:12px;line-height:1.75;margin:0}
.area{display:grid;grid-template-columns:1fr 1fr;background:#d8d2bd}
.area-map{position:relative;min-height:565px;background:linear-gradient(135deg,#53673c,#233d2b);overflow:hidden}
.area-map:before,.area-map:after{content:"";position:absolute;border:1px solid rgba(242,239,219,.3);width:130%;height:150%;border-radius:45%;transform:rotate(-25deg)}
.area-map:before{left:-70%;top:-40%}
.area-map:after{left:-13%;top:25%}
.map-ring{position:absolute;border:1px solid rgba(213,235,111,.75);width:270px;height:270px;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.map-ring.two{width:410px;height:410px;border-color:rgba(213,235,111,.32)}
.map-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-55%);font-size:44px;color:var(--lime)}
.map-label{position:absolute;left:50%;top:65%;transform:translateX(-50%);color:white;text-align:center;font:800 21px/.86 "Barlow Condensed",sans-serif;letter-spacing:.08em}
.area-copy{padding:120px 12vw 60px 9vw}
.area-copy>p:not(.kicker){font-size:13px;line-height:1.85;max-width:320px;margin:30px 0}
.dark{background:var(--green);color:white;display:inline-block}
.contact{background:var(--cream);padding:118px 8vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw}
.contact-heading>p:last-child{font-size:12px;line-height:1.75;max-width:300px;margin:29px 0}
.contact-heading a{color:var(--green);font-weight:800}
form{padding-top:11px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
label{display:block;font:700 9px "DM Mono",monospace;letter-spacing:.1em;margin:0 0 26px}
input,select,textarea{width:100%;border:0;border-bottom:1px solid #7b8276;background:transparent;padding:13px 0 11px;border-radius:0;font:500 13px Montserrat,sans-serif;color:var(--black);outline:none}
select{cursor:pointer}
textarea{resize:vertical;line-height:1.55}
.submit{margin-top:6px;width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center}
.form-note{font:500 8px "DM Mono",monospace;letter-spacing:.04em;color:var(--muted);margin-top:13px}
footer{padding:50px 8vw 22px;background:var(--black);color:white;display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:45px}
footer>img{width:190px;background:#fff;align-self:start}
.footer-label{font:500 9px "DM Mono",monospace;color:var(--lime);letter-spacing:.1em;margin:0 0 13px}
footer div p:not(.footer-label),footer a{font-size:11px;line-height:1.8;margin:0;color:#e6eadf;text-decoration:none;display:block}
.copyright{grid-column:1/-1;color:#96a393;border-top:1px solid #354338;padding-top:20px;margin:25px 0 0;font:500 8px "DM Mono",monospace;letter-spacing:.08em}

@media(max-width:800px){.topline{padding:0 5vw;font-size:7px}
.topline span{display:none}
header{top:31px;height:75px;padding:0 5vw}
.logo-link{width:124px}
nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--green);padding:25px 5vw;flex-direction:column;gap:22px}
.header-cta{display:none}
.menu-toggle{display:block;margin-left:auto;background:none;border:0;width:35px;padding:5px}
.menu-toggle span{display:block;height:2px;background:white;margin:6px 0}
.menu-toggle[aria-expanded="true"]+nav{display:flex}
.hero{height:660px}
.hero-content{padding:185px 7vw 0}
.hero h1{font-size:74px}
.hero-copy{font-size:12px;max-width:310px}
.hero-bottom{padding:14px 5vw;font-size:7px}
.hero-bottom span:last-child,.hero-stamp{display:none}
.intro{padding:80px 7vw;display:block}
.intro-tag{margin-bottom:48px}
.intro-copy{margin-top:35px}
.services{padding:75px 7vw;display:block}
.services-title{margin-bottom:44px}
.service-grid article{min-height:118px;grid-template-columns:28px 1fr 18px}
.service-grid p{display:none}
.service-grid h3{font-size:26px}
.work{padding:75px 7vw}
.section-top{display:block;margin:0 0 35px}
.section-top>p{margin-top:24px}
.project-grid{display:block}
.project{margin:0 0 32px}
.project-pond img,.project img,.project-rock img{height:370px}
.project-rock{margin-top:0}
.statement{padding:75px 7vw;display:block}
.statement-mark{margin-bottom:30px}
.statement>p{margin-top:30px;max-width:350px}
.area{grid-template-columns:1fr}
.area-map{min-height:380px}
.area-copy{padding:75px 7vw}
.contact{padding:75px 7vw;display:block}
.contact-heading{margin-bottom:45px}
.form-row{grid-template-columns:1fr;gap:0}
footer{padding:45px 7vw 20px;grid-template-columns:1fr 1fr;gap:35px}
footer>img{grid-column:1/-1;width:170px}
.copyright{margin-top:8px}
}
