:root{color:#1b302b;background:#f7f5f0;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit}button,input,select,textarea{font:inherit}header{color:#fff;background:#1b302b;justify-content:space-between;align-items:center;gap:20px;padding:20px max(5vw,24px);display:flex}.mark{letter-spacing:.12em;text-transform:uppercase;font-size:1.05rem;font-weight:800;line-height:1.05}.mark small{letter-spacing:.3em;margin-top:6px;font-size:.67rem;font-weight:400;display:block}header a:last-child{border-bottom:1px solid #b8c5b7;padding-bottom:5px;font-size:.88rem;text-decoration:none}.hero{color:#fff;background:linear-gradient(90deg,#0c1f1bde 0%,#0c1f1b75 48%,#0c1f1b0d 85%),url(/patio.png) 50%/cover;align-items:center;min-height:630px;padding:70px max(5vw,24px);display:flex}.hero-inner{max-width:730px}.eyebrow{letter-spacing:.2em;text-transform:uppercase;color:#d5cfb9;font-size:.78rem;font-weight:700}h1{letter-spacing:-.045em;margin:24px 0;font-family:Georgia,serif;font-size:clamp(3.3rem,7vw,6.8rem);font-weight:400;line-height:.98}p{line-height:1.6}.hero p{color:#f3f1e9;max-width:590px;font-size:1.19rem}.cta{color:#182720;cursor:pointer;background:#d4ba83;border:0;justify-content:center;align-items:center;min-height:52px;margin-top:18px;padding:17px 24px;font-weight:700;text-decoration:none;display:inline-flex}:is(.cta:hover,.cta:focus-visible){background:#e7cf9a}.intro{grid-template-columns:1.2fr 1fr;gap:7vw;max-width:1500px;margin:auto;padding:95px max(5vw,24px);display:grid}.intro h2,.contact h2{letter-spacing:-.035em;margin:10px 0 24px;font:400 clamp(2.5rem,4vw,4.3rem)/1.08 Georgia,serif}.intro p{max-width:660px;font-size:1.1rem}.types{border-top:1px solid #bcc7bf;margin:0;padding:14px 0;list-style:none}.types li{border-bottom:1px solid #bcc7bf;justify-content:space-between;padding:18px 0;font-size:1.18rem;display:flex}.types li:after{content:"↗";color:#8a7550}.contact{color:#fff;background:#203b34;padding:90px max(5vw,24px)}.contact-wrap{grid-template-columns:.9fr 1.1fr;gap:8vw;max-width:1220px;margin:auto;display:grid}.contact p{color:#e0e7e1;max-width:470px}.note{font-size:.92rem}.form{grid-template-columns:1fr 1fr;gap:20px;display:grid}label{font-size:.9rem;font-weight:700;display:block}input,select,textarea{color:#182720;background:#fff;border:1px solid #a7b7af;border-radius:0;width:100%;min-height:51px;margin-top:8px;padding:14px;display:block}textarea{resize:vertical;min-height:122px}.wide{grid-column:1/-1}.form .cta{width:100%;margin-top:0}.form small{color:#dbe3dd;line-height:1.5;display:block}footer{color:#dce4dd;background:#162b25;flex-wrap:wrap;justify-content:space-between;gap:20px;padding:28px max(5vw,24px);font-size:.85rem;display:flex}footer a{color:#dce4dd}.image-note{color:#78837c;text-align:right;padding:8px max(5vw,24px);font-size:.75rem}@media (max-width:800px){header{padding:17px 24px}.hero{background-position:63%;min-height:600px}.intro,.contact-wrap{grid-template-columns:1fr;gap:32px}.intro,.contact{padding-top:65px;padding-bottom:65px}}@media (max-width:520px){.hero{background:linear-gradient(90deg,#0c1f1bcc,#0c1f1b7a),url(/patio.png) 63%/cover;min-height:580px}.hero p{font-size:1.05rem}.form{grid-template-columns:1fr}.wide{grid-column:auto}header a:last-child{font-size:.75rem}.mark{font-size:.84rem}}.trap{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.form-status{min-height:1.5em;font-weight:700}.cta:disabled{opacity:.65;cursor:wait}input[type=file]{padding:11px}.types a{justify-content:space-between;align-items:center;width:100%;text-decoration:none;display:flex}.types a:after{content:"↗";color:#8a7550}.types li:after{display:none}:is(.types a:hover,.types a:focus-visible){text-decoration:underline}.mark{text-decoration:none}.project-page{background:#f7f5f0}.project-back{color:#5f7166;padding:32px max(5vw,24px) 0;font-size:.9rem}.project-back a{text-decoration:underline}.project-opening{max-width:1160px;margin:auto;padding:75px max(5vw,24px) 55px}.project-opening .eyebrow,.project-content .eyebrow{color:#697c68}.project-opening h1{max-width:1000px;font-size:clamp(3rem,6vw,6rem)}.project-opening p{max-width:720px;font-size:clamp(1.2rem,2vw,1.55rem)}.project-photo{margin:0}.project-photo img{object-fit:cover;width:100%;height:clamp(310px,48vw,680px);display:block}.project-photo figcaption{color:#52645a;text-align:right;padding:11px max(5vw,24px);font-size:.8rem;line-height:1.5}.project-content{grid-template-columns:1.2fr 1fr;gap:8vw;max-width:1350px;margin:auto;padding:100px max(5vw,24px);display:grid}.project-content h2,.project-next h2{letter-spacing:-.035em;margin:15px 0 25px;font:400 clamp(2.4rem,4vw,4.1rem)/1.1 Georgia,serif}.project-content p,.project-next p{max-width:680px;font-size:1.1rem}.project-content ul{border-top:1px solid #becac0;align-self:center;margin:0;padding:0;list-style:none}.project-content li{border-bottom:1px solid #becac0;padding:20px 0;font-size:1.1rem}.project-next{color:#fff;background:#203b34;justify-content:space-between;align-items:center;gap:50px;padding:75px max(5vw,24px);display:flex}.project-next p{color:#e0e7e1}.project-next .cta{flex-shrink:0}@media (max-width:800px){.project-content{grid-template-columns:1fr;gap:32px;padding-top:70px;padding-bottom:70px}.project-next{display:block}.project-opening{padding-top:60px}.project-photo figcaption{text-align:left}}.project-photo-wrap{position:relative}.project-photo .project-primary-image{object-fit:cover;width:100%;height:clamp(310px,48vw,680px);display:block}.project-insets{gap:12px;display:flex;position:absolute;bottom:24px;right:4vw}.project-insets img{object-fit:cover;border:5px solid #f7f5f0;width:clamp(105px,15vw,210px);height:clamp(105px,15vw,210px);display:block;box-shadow:0 8px 25px #102b2480}.project-insets img:nth-child(2){transform:translateY(-14px)}@media (max-width:520px){.project-insets{gap:7px;bottom:15px;right:16px}.project-insets img{border-width:3px;width:clamp(88px,26vw,120px);height:clamp(88px,26vw,120px)}.project-insets img:nth-child(2){transform:translateY(-7px)}}.project-photo--outdoor-living .project-insets{bottom:-95px;left:max(5vw,24px);right:auto}.project-photo--outdoor-living .project-insets img{border-width:7px;width:clamp(240px,32vw,440px);height:clamp(220px,25vw,345px)}.project-photo--outdoor-living figcaption{text-align:left;min-height:125px;padding-left:min(50vw,690px)}@media (max-width:800px){.project-photo--outdoor-living .project-insets{bottom:-68px}.project-photo--outdoor-living .project-insets img{width:clamp(210px,39vw,310px);height:clamp(170px,29vw,235px)}.project-photo--outdoor-living figcaption{min-height:100px;padding-left:53vw}}@media (max-width:520px){.project-photo--outdoor-living .project-insets{bottom:-75px;left:16px}.project-photo--outdoor-living .project-insets img{border-width:4px;width:clamp(185px,58vw,245px);height:clamp(155px,45vw,195px)}.project-photo--outdoor-living figcaption{min-height:170px;padding-top:92px;padding-left:24px}}.project-photo--driveways .project-insets{gap:18px;bottom:-100px;left:max(5vw,24px);right:auto}.project-photo--driveways .project-insets img{border-width:7px;width:clamp(215px,24vw,340px);height:clamp(180px,21vw,300px)}.project-photo--driveways .project-insets img:nth-child(2){transform:translateY(-24px)}.project-photo--driveways figcaption{text-align:left;min-height:135px;padding-left:min(62vw,880px)}@media (max-width:800px){.project-photo--driveways .project-insets{gap:9px;bottom:-75px}.project-photo--driveways .project-insets img{border-width:5px;width:clamp(140px,28vw,240px);height:clamp(140px,24vw,205px)}.project-photo--driveways figcaption{min-height:115px;padding-left:63vw}}@media (max-width:520px){.project-photo--driveways .project-insets{gap:7px;bottom:-76px;left:14px}.project-photo--driveways .project-insets img{border-width:3px;width:clamp(130px,41vw,175px);height:clamp(125px,37vw,165px)}.project-photo--driveways .project-insets img:nth-child(2){transform:translateY(-10px)}.project-photo--driveways figcaption{min-height:165px;padding-top:90px;padding-left:24px}}.project-photo--pool-patios .project-insets{gap:18px;bottom:-100px;left:auto;right:max(5vw,24px)}.project-photo--pool-patios .project-insets img{border-width:7px;width:clamp(215px,24vw,340px);height:clamp(180px,21vw,300px)}.project-photo--pool-patios .project-insets img:nth-child(2){transform:translateY(-24px)}.project-photo--pool-patios figcaption{text-align:left;min-height:135px;padding-right:min(62vw,880px)}@media (max-width:800px){.project-photo--pool-patios .project-insets{gap:9px;bottom:-75px}.project-photo--pool-patios .project-insets img{border-width:5px;width:clamp(140px,28vw,240px);height:clamp(140px,24vw,205px)}.project-photo--pool-patios figcaption{min-height:115px;padding-right:63vw}}@media (max-width:520px){.project-photo--pool-patios .project-insets{gap:7px;bottom:-76px;right:14px}.project-photo--pool-patios .project-insets img{border-width:3px;width:clamp(130px,41vw,175px);height:clamp(125px,37vw,165px)}.project-photo--pool-patios .project-insets img:nth-child(2){transform:translateY(-10px)}.project-photo--pool-patios figcaption{min-height:165px;padding-top:90px;padding-right:24px}}.location-eyebrow{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.service-area{letter-spacing:.1em;border-left:1px solid;padding-left:1.25rem}@media (max-width:600px){.location-eyebrow{gap:.45rem}.service-area{border-left:0;width:100%;padding-left:0}}
