@font-face{font-family:Playfair Display;src:url(/assets/fonts/playfair-display-regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{--black:#000;--white:#fff;--teal:#348c94;--warm-beige:#b4ac9e;--about-background:#f0f0f0;--content-margin:80px;--serif:"Playfair Display", Georgia, serif;--sans:"Avenir Next", Avenir, "Century Gothic", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--black);background:var(--white);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;border-radius:0}.site-header{z-index:20;background:var(--white);height:120px;position:relative}.header-inner{justify-content:space-between;align-items:center;height:100%;margin:0 80px;display:flex}.logo-link,.site-logo{width:87px;height:60px;display:block}.site-logo{object-fit:contain}.desktop-navigation{align-items:center;height:30px;font-size:14px;line-height:30px;display:flex}.desktop-navigation>a:not(.instagram-link){text-align:center;min-width:58px;padding:0 10px;transition:color .4s}.desktop-navigation>a:not(.instagram-link):hover,.desktop-navigation>a.active{color:#161616}.instagram-link{justify-content:center;align-items:center;display:inline-flex}.instagram-link img{object-fit:contain;width:26px;height:26px;display:block}.header-instagram{width:20px;height:20px;margin-left:15px}.header-instagram img{width:20px;height:20px}.menu-toggle,.mobile-menu{display:none}.hero{height:740px;position:relative;overflow:hidden}.hero-media{object-fit:cover;object-position:33% 61%;pointer-events:none;width:100%;max-width:none;height:100%;display:block;position:absolute;inset:0}@media (width>=768px){.hero-media{inset:auto;top:var(--hero-media-top,0px);left:var(--hero-media-left,0px);width:var(--hero-media-width,100%);height:var(--hero-media-height,100%);transform:translate3d(0, var(--hero-travel,0px), 0);will-change:transform}}.image-overlay{background:#00000040;position:absolute;inset:0}.hero-copy{color:var(--white);font-family:var(--serif);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;transform:translateY(-3px)}.hero-copy h1,.hero-copy p{margin:0;font-weight:400}.hero-copy h1{font-size:72px;line-height:90px}.hero-copy p{margin-top:30px;font-size:20px;line-height:33.4px}.about{height:980px;padding:80px var(--content-margin) 79px;background:var(--about-background)}.about-inner{height:821px}.about-image{background-image:url(/assets/images/concrete-porch.jpg);background-position:50%;background-size:cover;height:550px;position:relative;overflow:hidden}.about-image h2{z-index:1;color:var(--white);font:400 40px/54px var(--serif);justify-content:center;align-items:center;margin:0;display:flex;position:absolute;inset:0}.about-copy{text-align:center;height:271px;padding-top:51px}.about-subtitle{font:400 18px/31.5px var(--serif);margin:0}.about-description{width:820px;font:400 15px/28.125px var(--sans);margin:32px auto 0}.about-description-desktop>span{display:block}.about-description-responsive{display:none}.business{height:960px;padding:120px var(--content-margin) 80px;background:var(--white)}.business-inner>h2{height:60px;color:var(--teal);font:400 40px/54px var(--serif);text-align:center;margin:0 0 80px}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(40px,2.93vw,60px);width:100%;max-width:1784px;height:620px;margin:0 auto;display:grid}.service-card{flex-direction:column;min-width:0;display:flex}.service-card img{object-fit:cover;object-position:center;order:-1;width:100%;height:300px;display:block}.service-copy{height:320px;color:var(--white);text-align:center;padding:50px 0 30px}.service-copy h3,.service-copy p{width:300px;max-width:100%;font-family:var(--serif);margin:0 auto;font-weight:400}.service-copy h3{font-size:22px;line-height:31.02px}.service-copy p{margin-top:31px;font-size:18px;line-height:31.5px}.purchase .service-copy{background:var(--black)}.development .service-copy{background:var(--teal)}.build .service-copy{background:var(--warm-beige)}@media (width>=768px){.business-inner,.service-grid{min-width:1188px}.service-copy h3,.service-copy p{max-width:none}}.contact{background:var(--white);grid-template-columns:1fr 1fr;height:880px;display:grid}.contact-image{background-image:url(/assets/images/modern-houses-contact.jpg);background-position:55% 43%;background-size:cover;height:880px}.contact-panel{padding-top:119px}.contact-heading{text-align:center;width:460px;margin:0 auto}.contact-heading h2{color:var(--teal);font:400 40px/54px var(--serif);margin:0}.contact-heading p{font:400 15px/28.125px var(--sans);margin:10px 0 0}.contact-heading .instagram-link{margin-top:6px}.contact-form{width:460px;margin:38px auto 0}.field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.contact-form input,.contact-form textarea{width:100%;height:52px;color:var(--black);border:0;border-bottom:1px solid var(--black);font:400 15px/28.125px var(--sans);background:0 0;outline:none;padding:3px 3px 3px 12px;display:block}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--black);opacity:1}.contact-form textarea{resize:none;height:136px;padding:16px 10px 3px 16px}.contact-form button{width:100%;height:50px;color:var(--white);background:var(--black);cursor:pointer;font:400 18px/31.5px var(--serif);border:0;margin-top:37px;padding:0;transition:background-color .4s}.contact-form button:hover{background:#0009}.site-footer{background:var(--white);height:105px;padding:77px 0 0;position:relative}.site-footer:before{content:"";background:#d6d3ce;height:1px;position:absolute;top:74px;left:0;right:0}.site-footer p{color:#888680;width:940px;font:400 14px/25.06px var(--sans);margin:0 auto}@media (width<=767px){:root{--content-margin:0}.site-header{z-index:110;height:146px}.header-inner{justify-content:center;margin:0;position:relative}.logo-link,.site-logo{width:58px;height:40px}.desktop-navigation{display:none}.menu-toggle{z-index:120;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;justify-content:space-between;width:33px;height:31px;padding:0;display:flex;position:absolute;top:54px;right:34px}.menu-toggle span{background:var(--black);transform-origin:50%;width:33px;height:2px;transition:transform .48s cubic-bezier(.76,0,.24,1),opacity .24s,width .4s;display:block}.menu-toggle.is-open span:first-child{transform:translateY(14.5px)rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0;width:0;transform:translate(16.5px)}.menu-toggle.is-open span:last-child{transform:translateY(-14.5px)rotate(-45deg)}.mobile-menu{z-index:100;pointer-events:none;background:var(--white);opacity:0;visibility:hidden;clip-path:inset(0 0 100%);transition:clip-path .58s cubic-bezier(.76,0,.24,1),transform .58s cubic-bezier(.76,0,.24,1),opacity .35s,visibility 0s linear .58s;display:block;position:fixed;inset:0;overflow:hidden;transform:translateY(-10px)}.mobile-menu.is-open{pointer-events:auto;opacity:1;visibility:visible;clip-path:inset(0);transition-delay:0s;transform:translateY(0)}.mobile-menu nav{min-height:100%;font:400 27px/1.2 var(--serif);flex-direction:column;justify-content:center;align-items:center;padding:20px 0 30px;display:flex}.mobile-menu nav>a{opacity:0;transition:opacity .34s,transform .48s cubic-bezier(.22,1,.36,1);transform:translateY(18px)}.mobile-menu.is-open nav>a{opacity:1;transform:translateY(0)}.mobile-menu.is-open nav>a:first-child{transition-delay:.18s}.mobile-menu.is-open nav>a:nth-child(2){transition-delay:.23s}.mobile-menu.is-open nav>a:nth-child(3){transition-delay:.28s}.mobile-menu.is-open nav>a:nth-child(4){transition-delay:.33s}.mobile-menu.is-open nav>a:nth-child(5){transition-delay:.38s}.mobile-menu nav>a:not(.instagram-link){margin-bottom:42px}.mobile-menu nav>a.active{color:var(--teal)}.mobile-menu .instagram-link{margin-top:8px}.mobile-menu .instagram-link img{width:24px;height:24px}@media (prefers-reduced-motion:reduce){.menu-toggle span,.mobile-menu,.mobile-menu nav>a{transition-duration:.01ms;transition-delay:0s}}.hero{background-position:33% 61%;height:337px}.hero-copy{transform:translateY(-2px)}.hero-copy h1{font-size:40px;line-height:50px}.hero-copy p{margin-top:27px;font-size:22px;line-height:30px}.about{background:0 0;height:auto;min-height:760px;padding:0}.about-inner{min-height:760px;position:relative}.about-image{background-position:50%;height:100%;position:absolute;inset:0}.about-image .image-overlay{background:#0000004d}.about-image h2{align-items:flex-start;padding-top:77px;font-size:32px;line-height:43px}.about-copy{z-index:2;height:auto;color:var(--white);padding:144px 39px 55px;position:relative}.about-subtitle{font-size:22px;line-height:38px}.about-description{width:auto;margin-top:28px;font-size:20px;line-height:37px}.business{height:auto;padding:0}.business-inner>h2{height:auto;margin:0;padding:64px 0 56px;font-size:32px;line-height:43px}.service-grid{height:auto;display:block}.service-card{display:flex}.service-card img{order:0;height:250px}.service-copy,.purchase .service-copy,.development .service-copy,.build .service-copy{height:auto;min-height:250px;color:var(--black);background:var(--white);padding:55px 30px 52px}.service-copy h3{font-size:22px;line-height:31px}.service-copy p{margin-top:27px;font-size:18px;line-height:31.5px}.contact{height:auto;display:block}.contact-image{background-position:55% 43%;height:220px}.contact-panel{height:334px;padding-top:65px}.contact-heading{width:auto;padding:0 20px}.contact-heading h2{font-size:32px;line-height:43px}.contact-heading p{margin-top:23px;font-size:18px;line-height:33px}.contact-heading .instagram-link{margin-top:24px}.contact-heading .instagram-link img{width:25px;height:25px}.contact-form{display:none}.site-footer{background:var(--about-background);justify-content:center;align-items:center;height:32px;padding:0;display:flex}.site-footer:before{display:none}.site-footer p{text-align:center;width:auto;margin:0;font-size:14px;line-height:25px}}@media (width>=768px) and (width<=1100px){:root{--content-margin:48px}.header-inner{margin:0 48px}.about-description{max-width:calc(100% - 80px)}.service-grid{gap:40px}.contact-heading,.contact-form{width:calc(100% - 80px)}.site-footer p{width:auto}}@media (width<=1100px){.about-description-desktop{display:none}.about-description-responsive{display:inline}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}
