@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');*{box-sizing:border-box}body{margin:0;background:#f5f3eb;color:#23352a;font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}header{display:flex;justify-content:space-between;align-items:center;padding:25px 7%;border-bottom:1px solid #d7dbd0} .brand{font-family:'Playfair Display',serif;font-size:24px;line-height:1;letter-spacing:-1px}.brand small{display:block;font:600 9px 'DM Sans';letter-spacing:3px;margin-top:6px}nav{display:flex;align-items:center;gap:31px;font-size:13px;font-weight:600}nav a:hover,.textlink:hover{color:#a97048}.navcta,.button{background:#304c3a;color:#fff;padding:15px 22px;display:inline-block;font-size:12px;font-weight:700;letter-spacing:.5px}.hero{padding:100px 7% 85px;display:grid;grid-template-columns:1.05fr .95fr;gap:8%;align-items:center}.eyebrow{font-size:10px;letter-spacing:2.8px;text-transform:uppercase;font-weight:700;color:#967050}.hero h1,.intro h1{font:500 clamp(48px,6vw,86px)/1.05 'Playfair Display',serif;letter-spacing:-2px;margin:24px 0}.hero p,.intro p{font-size:16px;line-height:1.8;color:#5d6b5d;max-width:500px}.textlink{font-size:12px;font-weight:700;margin-left:22px}.visual{min-height:470px;background:#c7cfb8;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:34px;color:white;background-image:linear-gradient(155deg,#83977d,#405944 65%,#2d4939)}.visual:before{content:'';position:absolute;width:400px;height:400px;border:1px solid #d8e2cc66;border-radius:50%;top:-80px;right:-100px}.visual:after{content:'JJ';position:absolute;right:25px;top:30px;font:180px 'Playfair Display';color:#ffffff1a}.visual span{position:relative;z-index:1;font:italic 24px 'Playfair Display';max-width:250px}.ribbon{background:#e9e6d9;padding:30px 7%;display:flex;justify-content:space-between;gap:20px;font-size:11px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase}.section{padding:95px 7%}.section.dark{background:#253e30;color:#f8f6ec}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.section h2{font:500 clamp(35px,4vw,55px)/1.1 'Playfair Display';margin:12px 0}.section p{line-height:1.8;color:#667366;max-width:650px}.dark p{color:#c2cfc1}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border-top:1px solid #aab8a7;padding:26px 0}.card b{font:500 25px 'Playfair Display'}.card p{font-size:14px}.num{display:block;color:#a67955;font-size:11px;margin-bottom:25px}.intro{padding:85px 7% 55px}.intro h1{max-width:900px}.photo{min-height:260px;background:#dce2d4;display:flex;align-items:end;padding:22px;color:#647763;font-size:12px}.gallery .photo:nth-child(2){background:#c7d2c0}.gallery .photo:nth-child(3){background:#e4ded0}.notice{border-left:3px solid #b48760;padding:5px 20px;margin-top:28px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:40px}.panel{background:#e8ecdf;padding:40px}footer{padding:40px 7%;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#657267;border-top:1px solid #d7dbd0}.label{font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:#9a7658}@media(max-width:750px){header{align-items:flex-start;gap:20px;flex-direction:column}nav{gap:16px;flex-wrap:wrap}.navcta{padding:10px}.hero{grid-template-columns:1fr;padding-top:65px}.visual{min-height:300px}.grid,.contact{grid-template-columns:1fr}.ribbon{flex-wrap:wrap}.sectionhead{display:block}footer{flex-direction:column}}
body{background:#f3eade;color:#42382b} header{background:#eee0cb;border-color:#d7c2a5}.brand{display:flex;align-items:center;gap:12px;font-size:19px;letter-spacing:1px}.brandlogo{width:94px;height:65px;object-fit:cover;object-position:center;mix-blend-mode:multiply}.brand small{letter-spacing:2px}.hero p,.intro p,.section p{color:#6b5a49}.visual{background:linear-gradient(0deg,#263c31aa,#263c3100),url('driveway-detail.webp') center/cover}.visual:before,.visual:after{display:none}.ribbon{background:#e5d2b7;color:#684e37}.section.dark{background:#334b3a}.dark p{color:#e0e6dc}.panel{background:#e8d8c2}.gallery img{width:100%;height:300px;object-fit:cover}.card{border-color:#c4ae91}.eyebrow,.label{color:#96714d} footer{background:#e9ddcc}
.brandlogo{width:150px;height:83px;object-fit:contain;mix-blend-mode:normal}.hero{min-height:76vh;display:flex;align-items:center;background:linear-gradient(90deg,rgba(31,38,29,.86),rgba(31,38,29,.15)),url('yard-pool-smooth.webp') center/cover;color:#fff}.hero>div{max-width:680px}.hero p{color:#f3eee5}.hero .eyebrow{color:#e9cda5}.hero .textlink{color:white}.hero .button{background:#b88c60;color:#1e2e22}@media(max-width:750px){.hero{min-height:70vh;background-position:60% center}.brandlogo{width:125px;height:70px}}
.about-intro{display:grid;grid-template-columns:1fr minmax(240px,380px);align-items:center;gap:8%}.about-intro figure{margin:0}.about-intro img{width:100%;display:block}.about-intro figcaption{font-size:11px;color:#766958;margin-top:8px}@media(max-width:750px){.about-intro{grid-template-columns:1fr;gap:35px}}

nav{gap:24px}nav a[aria-current="page"]{color:#96714d;text-decoration:underline;text-underline-offset:6px}.process-intro{max-width:1200px}.process-intro h1{font-size:clamp(44px,5.6vw,76px)}.process-section{padding-top:10px;padding-bottom:80px}.process-list{list-style:none;margin:0;padding:0;max-width:1000px}.process-list li{display:grid;grid-template-columns:100px 1fr;gap:30px;border-top:1px solid #c4ae91;padding:36px 0}.step-number{font:400 42px 'Playfair Display',serif;color:#96714d}.process-list h2{font-size:32px;margin:0 0 16px}.process-list p{margin:0;max-width:740px}.process-cta .button{background:#e5d2b7;color:#23352a}.process-home{background:#e8d8c2}a:focus-visible{outline:3px solid #a97048;outline-offset:6px}@media(max-width:900px){nav{gap:16px}header{flex-wrap:wrap;gap:20px}}@media(max-width:600px){.process-list li{grid-template-columns:48px 1fr;gap:14px;padding:28px 0}.step-number{font-size:30px}.process-list h2{font-size:27px}.section{padding:60px 7%}.process-section{padding-top:10px}}

.inquiry-section{padding-top:10px}.inquiry-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:65px;align-items:start}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px;margin:32px 0}.form-grid .full{grid-column:1/-1}label{display:block;font-size:13px;font-weight:600;margin-bottom:9px}label span{font-weight:400;color:#6b5a49}input,select,textarea{width:100%;border:1px solid #bca98e;border-radius:0;padding:14px;background:#faf6ef;color:#42382b;font:16px 'DM Sans',sans-serif}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #96714d;outline-offset:2px}.form-note{font-size:12px;line-height:1.7!important}.contact-panel h2{font-size:32px}.contact-panel a{overflow-wrap:anywhere}.contact-panel p{line-height:2}.button{border:0;cursor:pointer} [hidden]{display:none!important}@media(max-width:800px){.inquiry-layout{grid-template-columns:1fr;gap:40px}.form-grid{grid-template-columns:1fr}.inquiry-section{padding-top:10px}}

.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.button:disabled{opacity:.6;cursor:wait}#form-status:not(:empty){padding:16px;border-left:3px solid #96714d;background:#e8d8c2}

.service-label{display:block;font-size:13px;font-weight:600;margin-bottom:9px}.service-picker{position:relative;background:#faf6ef;border:1px solid #bca98e}.service-picker summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;cursor:pointer;list-style:none;min-height:49px;font-size:16px}.service-picker summary::-webkit-details-marker{display:none}.service-picker summary:focus-visible{outline:2px solid #96714d;outline-offset:2px}.service-picker fieldset{border:0;border-top:1px solid #bca98e;margin:0;padding:12px 14px;max-height:320px;overflow:auto}.service-picker legend{position:absolute;left:-10000px}.service-picker label{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:400;padding:10px 0;margin:0;cursor:pointer}.service-picker input{width:20px;height:20px;padding:0;margin:0;accent-color:#304c3a;flex-shrink:0}.service-hint{display:block;margin-top:7px;color:#6b5a49;font-size:12px}

/* Editorial photography and final public-site polish */
.skip-link{position:absolute;top:8px;left:8px;z-index:100;background:#fff;padding:14px;transform:translateY(-150%)}.skip-link:focus{transform:none}.textlink{display:inline-block}.editorial-photo{margin:0;min-width:0}.editorial-photo img{width:100%;height:100%;object-fit:cover;display:block}.editorial-photo figcaption{font-size:12px;line-height:1.7;color:#6b5a49;margin-top:14px;max-width:500px}.photo-story,.work-story{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.photo-story{background:#e8d8c2}.photo-story .editorial-photo img{aspect-ratio:5/4}.story-copy .textlink,.home-founder .textlink{margin-left:0}.work-story .editorial-photo img{aspect-ratio:4/3}.light-button{background:#e5d2b7;color:#23352a}.dark .eyebrow{color:#e9cda5}.home-founder{max-width:1000px}.services-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:6%;align-items:center}.services-intro h1{font-size:clamp(42px,4.8vw,70px)}.services-intro .editorial-photo img{aspect-ratio:4/5}.service-icon{width:43px;height:43px;color:#96714d;display:block;margin-bottom:20px}.service-icon+.num{margin-bottom:14px}.card b{display:block}.service-next{border-top:1px solid #c4ae91;padding-top:45px;margin-top:45px;display:flex;gap:35px;align-items:center;justify-content:space-between}.service-next h2{font-size:36px}.service-next .button{flex-shrink:0}.backyard-gallery{grid-template-columns:1fr 1fr}.gallery-link{position:relative;display:block;overflow:hidden}.gallery-link img{display:block;transition:transform .25s ease}.gallery-link:hover img{transform:scale(1.025)}.photo-open{position:absolute;bottom:14px;right:14px;background:#f3eadeed;color:#42382b;padding:9px 13px;font-size:11px;letter-spacing:.3px}.process-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:7%;align-items:start}.process-layout .process-list li{grid-template-columns:55px 1fr;gap:22px}.process-layout .process-list h2{font-size:29px}.process-photo{position:sticky;top:30px;padding-top:36px}.process-photo img{aspect-ratio:3/4}.footer-contact{display:flex;flex-direction:column;gap:14px}footer p{line-height:1.7}footer a:hover{text-decoration:underline}footer span{font-size:11px}.about-intro img{aspect-ratio:4/5;object-fit:cover}.hero{background-position:center 52%}.brandlogo{height:83px}button,input,select,textarea,summary{touch-action:manipulation}
@media(max-width:900px){.services-intro{grid-template-columns:1fr 1fr}.process-layout{grid-template-columns:1fr}.process-photo{position:static;padding-top:0;max-width:620px}.process-photo img{aspect-ratio:16/9}.process-layout .process-list{max-width:none}}
@media(max-width:750px){.photo-story,.work-story,.services-intro{grid-template-columns:1fr;gap:35px}.services-intro .editorial-photo img{aspect-ratio:16/10}.work-story .editorial-photo{order:2}.backyard-gallery{grid-template-columns:1fr}.service-next{display:block}.service-next .button{margin-top:12px}.hero .button{margin-bottom:16px}.hero .textlink{margin-left:18px}.gallery img{height:auto;aspect-ratio:4/3}.sectionhead{margin-bottom:24px}.inquiry-layout{gap:35px}footer{gap:28px}.footer-contact a{min-height:24px}.intro{padding-top:55px}.hero h1{font-size:clamp(46px,12vw,70px)}.process-layout .process-list li{grid-template-columns:42px 1fr;gap:14px}.process-layout .process-list h2{font-size:26px}.brandlogo{height:70px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.card h3{font:500 25px/1.25 'Playfair Display',serif;margin:0 0 14px}.card p{margin-top:0}
