:root{--paper:#faf9f6;--ink:#202221;--bronze:#94744e;--gold:#ac8b5f}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--bronze);outline-offset:5px}header{padding:12px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:104px}.brand{display:block;width:290px;flex-shrink:0}.brand img{display:block;width:100%;height:auto}nav{display:flex;gap:25px;align-items:center;font-size:13px}nav a{padding:8px 0;white-space:nowrap}nav a:hover,nav a[aria-current]{border-bottom:1px solid var(--bronze)}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:15px 24px;text-transform:uppercase;font-size:11px;font-weight:600;letter-spacing:1.7px;line-height:1.3;min-height:46px}.outline{border:1px solid var(--bronze);color:#795a36}.filled{background:var(--gold);color:#fff}.button:hover{background:#80623e;color:#fff}.hero{position:relative;min-height:565px;display:flex;align-items:center;isolation:isolate;color:#fff}.hero-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 46%}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.13) 58%,transparent);z-index:-1}.hero-content{padding:65px 5.5%;width:100%}.eyebrow{font-size:12px;font-weight:500;letter-spacing:2.6px;text-transform:uppercase;line-height:1.9;margin:0 0 12px}.rule{width:38px;height:2px;background:var(--gold);margin:12px 0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.05;margin:14px 0 18px}h1{font-size:clamp(42px,4.5vw,64px)}.intro{font-size:17px;margin:0 0 24px}.wrap{margin:0 auto;width:92.5%;max-width:1440px}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;padding:30px 0 22px}.services img{width:100%;height:auto;aspect-ratio:1.47;object-fit:cover;display:block}.services h2{font-family:Arial,Helvetica,sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:1.9px;margin:18px 0 10px;line-height:1.4}.services .rule{width:34px;margin:8px 0}.services p{font-size:15px;margin:0;line-height:1.5}.approach{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:0 0 30px}.stairs{width:100%;height:100%;min-height:360px;max-height:460px;object-fit:cover}.bronze{color:#89663e}.approach h2{font-size:clamp(30px,3.1vw,45px)}.approach p:not(.eyebrow):not(.signature){font-size:15px}.approach-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.signature{font:italic 23px Georgia,serif;transform:rotate(-8deg);line-height:1.1;margin:12px 20px}.closing{background:#202221;color:#fff;padding:35px 5.8% 40px;display:flex;gap:35px;align-items:center}.closing>div{flex:1}.closing h2{font-size:clamp(32px,3.4vw,48px);margin-top:0}.closing p{font-size:15px;max-width:900px}.closing .eyebrow{font-size:11px;margin-bottom:0}.closing .button{flex-shrink:0}.closing .rule{margin:22px 0}footer{display:flex;align-items:center;justify-content:space-between;padding:26px 5.5%;gap:25px}footer p,footer>a:last-child{font-size:11px;text-transform:uppercase;letter-spacing:1.4px}footer p span{color:var(--bronze);margin:0 12px}.menu{display:none}.skip{position:absolute;top:-100px;left:10px;padding:10px;background:#fff;z-index:10}.skip:focus{top:10px}@media(min-width:1600px){.hero{min-height:700px}}@media(max-width:1100px){header{gap:16px;padding:12px 4%}.brand{width:245px}nav{gap:17px}.header-cta{display:none}.hero{min-height:540px}.closing{display:block}.closing .button{margin-top:22px}footer .brand{width:230px}}@media(max-width:700px){header{min-height:86px;position:relative;padding:10px 5%}.brand{width:235px}.menu{display:flex;gap:10px;background:transparent;border:1px solid #cbbca7;padding:10px;font:12px Arial;color:var(--ink)}nav{display:none;position:absolute;top:100%;left:0;right:0;padding:18px 6%;background:var(--paper);z-index:5;box-shadow:0 8px 15px #0002}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:4px}nav a{padding:10px}.hero{min-height:580px;align-items:flex-end}.hero-photo{object-position:61% center}.hero:after{background:linear-gradient(0deg,#000b,#0005 65%,#0001)}.hero-content{padding:42px 6%}.eyebrow{font-size:10px;letter-spacing:1.8px}h1{font-size:44px}.intro{font-size:15px}.wrap{width:88%}.services{grid-template-columns:1fr 1fr;gap:28px 18px;padding:28px 0 36px}.services h2{font-size:11px;letter-spacing:1.3px}.services p{font-size:14px}.approach{grid-template-columns:1fr;gap:26px;padding-bottom:36px}.stairs{min-height:0;max-height:none;height:auto;aspect-ratio:1.35}.approach h2{font-size:36px}.approach-bottom{flex-wrap:wrap}.closing{padding:36px 6%}.closing h2{font-size:35px}.closing .eyebrow{line-height:2}footer{flex-direction:column;text-align:center;padding:26px 5%;gap:14px}footer p{margin:0}.signature{font-size:21px}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.button{transition:background .15s,color .15s}}

.legal{border-top:1px solid #ded8ce;padding:14px 5%;text-align:center;font-size:11px;color:#625e57;line-height:1.8}.legal span{margin:0 8px}.legal a{text-decoration:underline;text-underline-offset:3px}@media(max-width:700px){.legal{font-size:10px;padding:14px 6%}}

.work-intro{padding:28px 10% 24px}.work-intro h1{font-size:clamp(34px,3.7vw,54px);margin:6px 0 18px;line-height:1.08}.work-intro>p:last-child{font-size:15px;line-height:1.6;margin:0}.inline-rule{display:inline-block;width:44px;height:1px;background:#baab96;vertical-align:middle;margin-left:16px}.project-list{width:94%;max-width:1600px;margin:0 auto 14px}.project-row{display:grid;grid-template-columns:70% 30%;margin-bottom:14px;align-items:stretch}.project-photo{display:block;min-width:0}.project-photo img{width:100%;height:100%;aspect-ratio:2.5;object-fit:cover;display:block}.project-info{padding:30px 8%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.project-info .eyebrow{font-size:11px;letter-spacing:1.5px;white-space:nowrap}.project-info h2{font-size:clamp(29px,3.4vw,48px);margin:12px 0 18px}.project-type{text-transform:uppercase;letter-spacing:1.5px;font-size:11px;margin:0 0 24px}.project-row:nth-child(even){grid-template-columns:30% 70%}.project-row:nth-child(even) .project-photo{grid-column:2;grid-row:1}.project-row:nth-child(even) .project-info{grid-column:1;grid-row:1;padding-left:10%}.work-closing{padding-top:45px;padding-bottom:45px}.work-closing h2{font-size:40px;margin-bottom:12px}.work-closing p{margin:0}@media(max-width:950px){.project-info .inline-rule{display:none}.project-info{padding:22px 7%}.project-info h2{font-size:31px}.project-type{line-height:1.8}.project-info .button{padding:13px 18px}}@media(max-width:700px){.work-intro{padding:28px 6%}.work-intro h1{font-size:35px}.desktop-break{display:none}.project-list{width:88%}.project-row,.project-row:nth-child(even){display:flex;flex-direction:column;margin-bottom:30px}.project-photo img{aspect-ratio:1.65;height:auto}.project-info,.project-row:nth-child(even) .project-info{padding:22px 0 0}.project-info h2{font-size:34px;margin:4px 0 10px}.project-info .eyebrow{font-size:10px}.project-type{margin-bottom:15px}.work-closing h2{font-size:33px}}
.project-photo img{object-position:center 20%}.project-row:first-child .project-photo img{object-position:center top}
/* Preserve each original photograph without cropping architectural details. */
.project-photo img{height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;}
.project-row{grid-template-columns:70% 30%;}
.project-row:nth-child(even){grid-template-columns:30% 70%;}
@media(max-width:700px){.project-photo img{height:auto;aspect-ratio:auto;object-fit:contain;}}
/* Individual editorial crops: preserve rooflines and house edges, trim foreground. */
.project-photo img{width:100%;height:auto;aspect-ratio:2.25;object-fit:cover;object-position:center 32%;}
.project-row:first-child .project-photo img{aspect-ratio:2.25;object-position:center 8%;}
.project-row:nth-child(2) .project-photo img{aspect-ratio:2.45;object-position:center 49%;}
.project-row:nth-child(3) .project-photo img{aspect-ratio:2.6;object-position:center 43%;}
.project-row:nth-child(4) .project-photo img{aspect-ratio:2.5;object-position:center 43%;}
@media(max-width:700px){.project-row .project-photo img{aspect-ratio:1.85;}.project-row:first-child .project-photo img{object-position:center 12%;}}
.project-row:first-child .project-photo img{aspect-ratio:1.95;object-position:center top;}
.project-row:nth-child(2) .project-photo img{object-position:center 62%;}
@media(max-width:700px){.project-row:first-child .project-photo img{aspect-ratio:1.85;}}

.rope-hero{min-height:490px}.rope-hero .hero-photo{object-position:center 25%}.rope-hero .hero-content{padding-top:45px;padding-bottom:35px}.rope-hero h1{font-size:clamp(44px,5.5vw,76px)}.rope-hero .intro{margin-top:24px}.rope-gallery{width:94%;max-width:1500px;margin:15px auto 0;scroll-margin-top:15px}.detail-row,.kitchen-row,.bath-row,.outdoor-row{display:grid;gap:14px;margin-bottom:14px}.detail-row{grid-template-columns:26% 24% 1fr}.kitchen-row{grid-template-columns:47% 26% 1fr}.bath-row{grid-template-columns:23% 32% 21% 1fr}.outdoor-row{grid-template-columns:repeat(4,1fr)}.gallery-photo{display:block;min-width:0;overflow:hidden}.gallery-photo img{display:block;width:100%;height:100%;object-fit:cover}.detail-row .gallery-photo{height:360px}.kitchen-row .gallery-photo{height:300px}.bath-row .gallery-photo{height:250px}.outdoor-row .gallery-photo{height:210px}.editorial{padding:8px 26px}.editorial h2{font-size:clamp(28px,3vw,42px);line-height:1.06;margin:15px 0}.editorial p{font-size:14px;line-height:1.5}.kitchen-row .editorial{background:#eee8df;padding:12px 26px}.entry img{object-position:center 52%}.vanity img{object-position:center 43%}.rope-ending{display:grid;grid-template-columns:1fr 1fr;gap:6%;padding:12px 6% 24px;align-items:center;border-bottom:1px solid #cfc6b9}.rope-ending blockquote{text-align:center;text-transform:uppercase;letter-spacing:3px;font:15px/1.7 Georgia,serif;margin:0;padding:12px 20px;border-right:1px solid #b9a992}.rope-ending blockquote .rule{margin:14px auto 0}.rope-ending>div{max-width:400px}.rope-ending p{font-size:13px;margin:0 0 12px}.rope-ending .button{font-size:10px;padding:10px 18px;min-height:38px}@media(max-width:1000px) and (min-width:701px){.editorial{padding:8px 15px}.editorial h2{font-size:30px}.editorial p{font-size:13px}.kitchen-row .editorial{padding:10px 15px}.detail-row .gallery-photo{height:340px}.kitchen-row .gallery-photo{height:310px}}@media(max-width:700px){.rope-hero{min-height:520px}.rope-hero h1{font-size:48px}.rope-hero .hero-photo{object-position:63% center}.rope-gallery{width:88%;margin-top:25px}.detail-row{grid-template-columns:1fr 1fr}.detail-row .editorial{grid-column:1/-1;padding:0 0 8px}.editorial h2 br{display:none}.editorial h2{font-size:33px;line-height:1.15}.editorial h2 br:after{content:' '}.detail-row .gallery-photo{height:280px}.detail-row .living{grid-column:1/-1;height:auto;aspect-ratio:1.5}.detail-row .entry{grid-column:1/-1;height:400px}.detail-row .entry img{object-fit:contain;background:#f2eee7}.kitchen-row{grid-template-columns:1fr}.kitchen-row .gallery-photo{height:auto;aspect-ratio:1.4}.kitchen-row .editorial{padding:20px;grid-row:1}.bath-row,.outdoor-row{grid-template-columns:1fr 1fr;gap:10px}.bath-row .gallery-photo{height:235px}.outdoor-row .gallery-photo{height:170px}.rope-ending{grid-template-columns:1fr;gap:24px;padding:20px 6% 30px}.rope-ending blockquote{border-right:0;border-bottom:1px solid #b9a992;padding:10px 0 25px}.rope-ending>div{max-width:none}.rope-ending p{font-size:14px}}
@media(min-width:701px){.rope-hero{min-height:54vw;max-height:900px}.rope-hero .hero-photo{object-position:center top}}
@media(max-width:700px){.editorial h2 br{display:initial}}

.dean-hero{min-height:490px}.dean-hero .hero-photo{object-position:center 57%}.dean-hero h1{font-size:clamp(48px,5.7vw,78px)}.dean-hero .hero-content{padding-top:40px;padding-bottom:40px}.dean-gallery{width:94%;max-width:1500px;margin:14px auto;scroll-margin-top:14px}.dean-lead,.dean-kitchen,.dean-details,.dean-bottom{display:grid;gap:12px;margin-bottom:12px}.dean-lead{grid-template-columns:27% 45% 1fr}.dean-kitchen{grid-template-columns:36% 28% 1fr}.dean-details{grid-template-columns:27% 24% 23% 1fr}.dean-bottom{grid-template-columns:31% 29% 1fr}.dean-photo{display:block;overflow:hidden;min-width:0}.dean-photo img{display:block;width:100%;height:100%;object-fit:cover}.dean-lead .dean-photo{height:360px}.dean-kitchen .dean-photo{height:255px}.dean-details .dean-photo{height:210px}.dean-bottom .dean-photo{height:255px}.dean-living img{object-position:42% center}.dean-range img{object-position:center 48%}.dean-shower img{object-position:center 42%}.dean-ending{display:flex;align-items:center;gap:28px;padding:15px 5% 25px;border-bottom:1px solid #b69d7e}.dean-ending h2{font-size:clamp(28px,3.3vw,43px);white-space:nowrap;margin:0}.dean-ending p{font-size:13px;line-height:1.5;border-left:1px solid #b69d7e;padding-left:28px;flex:1}.dean-ending .button{font-size:10px;white-space:nowrap;padding:13px 18px}@media(max-width:1000px){.dean-ending{flex-wrap:wrap}.dean-ending p{min-width:220px}.dean-ending .button{margin-left:auto}}@media(max-width:700px){.dean-hero{min-height:520px}.dean-hero .hero-photo{object-position:60% center}.dean-gallery{width:88%;margin-top:24px}.dean-lead{grid-template-columns:1fr}.dean-lead .editorial{padding:0}.dean-lead .dean-photo{height:auto;aspect-ratio:1.25}.dean-kitchen{grid-template-columns:1fr 1fr}.dean-kitchen .dean-kitchen{grid-column:1/-1}.dean-kitchen .dean-photo{height:240px}.dean-kitchen>a:first-child{grid-column:1/-1;height:auto;aspect-ratio:1.4}.dean-details{grid-template-columns:1fr 1fr}.dean-details .dean-photo{height:210px}.dean-bottom{grid-template-columns:1fr 1fr}.dean-bottom .dean-photo{height:200px}.dean-bottom .dean-porch{grid-column:1/-1;height:auto;aspect-ratio:1.4}.dean-ending{display:block;padding:22px 6% 30px}.dean-ending h2{font-size:32px;white-space:normal}.dean-ending p{border:0;padding:0;font-size:14px}.dean-ending .button{margin-top:8px}}
.dean-living img{object-position:42% top;}


/* Full-width daylight hero, consistent with the portfolio pages. */
.dean-hero{min-height:clamp(490px,48vw,720px);isolation:isolate}.dean-hero .hero-photo{object-position:center 58%}.dean-hero .hero-content{padding-left:3%;padding-right:3%}.dean-hero h1{font-size:clamp(40px,4.4vw,64px)}.dean-hero .intro{max-width:205px;font-size:15px}.dean-hero:after{background:linear-gradient(90deg,rgba(0,0,0,.64),rgba(0,0,0,.28) 22%,transparent 43%)}@media(max-width:700px){.dean-hero{min-height:560px}.dean-hero .hero-content{padding:30px 6%}.dean-hero .hero-photo{object-position:58% center}.dean-hero:after{background:linear-gradient(0deg,#000b,transparent 85%)}}
/* Trim the right driveway edge and neighboring property from the Dean hero. */
@media(min-width:701px){.dean-hero{overflow:hidden}.dean-hero .hero-photo{width:114%;max-width:none;object-position:left 56%}.dean-hero .hero-content{position:relative;z-index:1}}
/* Balance the full house with breathing room, closer to the approved mockup. */
@media(min-width:701px){.dean-hero .hero-photo{width:108%;object-position:left 56%;}}

/* Ground-level original replaces provisional drone hero. */
@media(min-width:701px){.dean-hero .hero-photo{width:100%;object-position:center 32%;}.dean-hero{min-height:clamp(490px,48vw,720px)}}

.dean-hero{min-height:490px;height:auto;max-height:none}.dean-hero .hero-photo{width:100%;object-position:center center}.dean-hero .hero-content{display:block;padding:45px 5.5%;height:auto}.dean-hero h1{font-size:clamp(44px,5vw,70px);margin:14px 0 18px}.dean-hero .intro{max-width:240px;margin:24px 0;font-size:16px}.dean-hero:after{background:linear-gradient(90deg,#0007,transparent 45%)}@media(min-width:701px){.dean-hero{min-height:0;aspect-ratio:2.25}.dean-hero .hero-photo{width:100%}}@media(max-width:700px){.dean-hero{min-height:540px}.dean-hero .hero-photo{object-position:55% center}.dean-hero:after{background:linear-gradient(0deg,#000b,transparent)}}

/* Tighten Dean framing so the home leads and woodland only supports the text. */
@media(min-width:701px){.dean-hero{aspect-ratio:2.05}.dean-hero .hero-photo{width:115%;left:-15%;object-position:right center}}

/* Fowler portfolio follows the supplied editorial mockup. */
.fowler-hero{min-height:490px;aspect-ratio:2.15}.fowler-hero .hero-photo{object-position:center 43%}.fowler-hero .hero-content{padding:40px 5.5%}.fowler-hero h1{font-size:clamp(44px,5vw,70px)}.fowler-hero .intro{max-width:220px;font-size:16px;margin:22px 0}.fowler-gallery{width:94%;max-width:1500px;margin:14px auto;scroll-margin-top:14px}.fowler-lead,.fowler-row,.fowler-details{display:grid;gap:12px;margin-bottom:12px}.fowler-lead{grid-template-columns:28% 1fr}.fowler-row{grid-template-columns:1.15fr .95fr 1fr}.fowler-details{grid-template-columns:23% 23% 23% 1fr}.fowler-photo{display:block;min-width:0;overflow:hidden}.fowler-photo img{display:block;width:100%;height:100%;object-fit:cover}.fowler-lead .fowler-photo{height:360px}.fowler-row .fowler-photo{height:290px}.fowler-details .fowler-photo{height:280px}.fowler-outdoor .fowler-photo{height:250px}.fowler-bath-row .fowler-photo{height:240px}.fowler-living img{object-position:center 38%}.fowler-kitchen img,.fowler-range img{object-position:center 42%}.fowler-details .editorial{padding:4px 12px}.fowler-details h2{font-size:30px}.fowler-details p{font-size:13px}.fowler-bath img{object-position:center 42%}.fowler-shower img{object-position:center 55%}
@media(max-width:700px){.fowler-hero{min-height:560px;aspect-ratio:auto}.fowler-hero .hero-photo{object-position:64% center}.fowler-hero .intro{max-width:260px}.fowler-gallery{width:88%;margin-top:24px}.fowler-lead{grid-template-columns:1fr}.fowler-lead .editorial{padding:0}.fowler-lead .fowler-photo{height:auto;aspect-ratio:1.35}.fowler-row,.fowler-details{grid-template-columns:1fr 1fr}.fowler-details .editorial{grid-column:1/-1;padding:10px 0}.fowler-row .fowler-photo,.fowler-details .fowler-photo{height:260px}.fowler-row .fowler-photo:last-child,.fowler-details .fowler-photo:last-child{grid-column:1/-1;height:auto;aspect-ratio:1.5}.fowler-outdoor .fowler-photo{height:230px}.fowler-bath-row .fowler-photo{height:240px}}
/* Reserve the extended woodland for copy, keeping the entire Fowler home visible. */
@media(min-width:701px){.fowler-hero{min-height:490px;aspect-ratio:2.2}.fowler-hero .hero-photo{object-position:center center}.fowler-hero .hero-content{padding-left:4%}.fowler-hero h1{font-size:clamp(42px,4.5vw,64px)}.fowler-hero .intro{max-width:210px}.fowler-hero:after{background:linear-gradient(90deg,#0008,transparent 36%)}}
/* Closer Fowler framing, with a slight text overlap allowed at the garage edge. */
@media(min-width:701px){.fowler-hero{overflow:hidden;aspect-ratio:2.05}.fowler-hero .hero-photo{width:118%;max-width:none;left:-16%;object-position:center center}}
/* Match the shallower mockup hero and trim foreground driveway. */
@media(min-width:701px){.fowler-hero{min-height:375px;aspect-ratio:2.85}.fowler-hero .hero-photo{object-position:center 38%}.fowler-hero .hero-content{padding-top:24px;padding-bottom:24px}.fowler-hero h1{margin:10px 0 14px}.fowler-hero .intro{margin:16px 0}}

.linton-hero{min-height:375px;aspect-ratio:2.85}.linton-hero .hero-photo{object-position:center 35%}.linton-hero .hero-content{padding:25px 5.5%}.linton-hero h1{font-size:clamp(44px,5vw,70px);margin:10px 0}.linton-hero .intro{max-width:220px;font-size:16px;margin:18px 0}.linton-gallery{width:94%;max-width:1500px;margin:12px auto;scroll-margin-top:12px}.linton-lead,.linton-kitchen,.linton-details,.linton-finishes,.linton-bottom{display:grid;gap:12px;margin-bottom:12px}.linton-lead{grid-template-columns:27% 1fr}.linton-kitchen{grid-template-columns:44% 28% 1fr}.linton-details{grid-template-columns:30% 24% 20% 1fr}.linton-finishes{grid-template-columns:34% 30% 1fr}.linton-bottom{grid-template-columns:1fr 1fr}.linton-photo{display:block;overflow:hidden;min-width:0}.linton-photo img{width:100%;height:100%;object-fit:cover;display:block}.linton-lead .linton-photo{height:330px}.linton-kitchen .linton-photo{height:290px}.linton-details .linton-photo{height:250px}.linton-finishes .linton-photo{height:215px}.linton-bottom .linton-photo{height:220px}.linton-kitchen-detail img{width:155%;height:155%;object-position:80% top;transform:translate(-24%,-2%)}.linton-range img,.linton-bar img{object-position:center 40%}.linton-hardware img{object-position:center 55%}
@media(max-width:700px){.linton-hero{min-height:500px;aspect-ratio:auto}.linton-hero .hero-photo{object-position:55% center}.linton-gallery{width:88%;margin-top:24px}.linton-lead{grid-template-columns:1fr}.linton-lead .editorial{padding:0}.linton-lead .linton-photo{height:auto;aspect-ratio:1.4}.linton-kitchen,.linton-details,.linton-finishes,.linton-bottom{grid-template-columns:1fr 1fr}.linton-kitchen .linton-photo:first-child,.linton-finishes .linton-photo:last-child{grid-column:1/-1}.linton-kitchen .linton-photo,.linton-details .linton-photo{height:240px}.linton-finishes .linton-photo,.linton-bottom .linton-photo{height:190px}}

/* Restore both missing photos to the approved Linton arrangement. */
.linton-lead{grid-template-columns:25% 40% 1fr}.linton-bottom{grid-template-columns:repeat(3,1fr)}.linton-living img{object-position:43% center}.linton-garage img{object-position:center 55%}@media(max-width:700px){.linton-lead{grid-template-columns:1fr}.linton-bottom{grid-template-columns:1fr 1fr}.linton-bottom .linton-garage{grid-column:1/-1;height:auto;aspect-ratio:1.6}}
/* Show the complete door hardware and shower controls without clipping. */
.linton-details .linton-hardware img,.linton-details .linton-shower img{object-fit:contain;object-position:center center;background:#eeeae4}
/* Bring the door hardware closer while preserving both knobs and backplates. */
.linton-details .linton-hardware img{transform:scale(1.15);transform-origin:center center}
/* Mockup placement: copy over left woodland, home clearly visible to the right. */
@media(min-width:701px){.linton-hero .hero-photo{object-position:center center}.linton-hero h1{font-size:clamp(42px,4.8vw,66px)}.linton-hero .intro{max-width:210px}.linton-hero:after{background:linear-gradient(90deg,#0009,transparent 38%)}}
/* Slightly closer Linton framing while retaining the complete house. */
@media(min-width:701px){.linton-hero{overflow:hidden}.linton-hero .hero-photo{width:112%;max-width:none;left:-12%;object-position:right center}}
/* Slightly shallower Linton hero. */
@media(min-width:701px){.linton-hero{min-height:340px;aspect-ratio:3.15}.linton-hero .hero-photo{object-position:right 43%}.linton-hero .hero-content{padding-top:18px;padding-bottom:18px}}
.about-hero{min-height:410px;aspect-ratio:2.6}.about-hero .hero-photo{object-position:center 36%}.about-hero .hero-content{padding:35px 8%}.about-hero h1{font-size:clamp(36px,4.4vw,62px)}.about-hero .intro{max-width:380px;font-size:16px}.about-row{display:grid;grid-template-columns:1fr 1fr;gap:5%;padding:24px 6%;align-items:center}.about-row h2,.about-community h2{font-size:clamp(30px,3.3vw,46px)}.about-row p{font-size:15px;line-height:1.5}.about-row .eyebrow{font-size:10px}.about-row img{width:100%;height:410px;object-fit:cover}.about-community{background:#343d32;color:#fff;padding:38px 10%}.about-community>div{max-width:490px}.about-community p:not(.eyebrow){font-size:16px;line-height:1.6}.about-personal img{height:360px}.about-signoff{font:23px Georgia,serif!important}@media(max-width:700px){.about-hero{min-height:520px;aspect-ratio:auto}.about-hero .hero-content{padding:30px 6%}.about-hero h1{font-size:39px}.about-row{grid-template-columns:1fr;padding:28px 6%;gap:20px}.about-row img{height:auto;aspect-ratio:1.35}.about-personal img{grid-row:2}.about-community{padding:30px 6%}.about-row h2,.about-community h2{font-size:34px}}
.about-community{position:relative;isolation:isolate;overflow:hidden;min-height:330px}.community-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 57%;z-index:-2}.about-community:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#000d,#0008 48%,#0001 80%)}.about-community>div{max-width:430px}.credits-page{max-width:850px;margin:50px auto 80px;padding:0 6%;min-height:45vh}.credits-page h2{font-size:28px;margin-top:35px}.credits-page a{text-decoration:underline;text-underline-offset:3px}@media(max-width:700px){.about-community{min-height:430px}.community-photo{object-position:60% center}.about-community:after{background:#0009}}
/* A shallower community band keeps the About page moving between sections. */
.about-community{min-height:0;padding:25px 10%}.about-community>div{max-width:490px}.about-community h2{font-size:clamp(30px,3vw,42px);margin:8px 0 14px}.about-community .eyebrow{margin-bottom:8px}.about-community p:not(.eyebrow){font-size:15px;line-height:1.5;margin:0}.community-photo{object-position:center 54%}@media(max-width:700px){.about-community{padding:28px 6%}.about-community h2{font-size:32px}}
/* Align community copy nearer the left edge to reveal more of the bridge. */
@media(min-width:701px){.about-community{padding-left:5.5%;padding-right:5.5%}}
/* About hero aligns with the portfolio framing and left-hand text placement. */
@media(min-width:701px){.about-hero{min-height:375px;aspect-ratio:2.7;overflow:hidden}.about-hero .hero-photo{object-position:center center}.about-hero .hero-content{padding:24px 5.5%}.about-hero h1{font-size:clamp(32px,3.5vw,50px);max-width:370px;margin:12px 0 16px}.about-hero .eyebrow{max-width:285px;font-size:10px;letter-spacing:1.8px}.about-hero .intro{max-width:285px;font-size:15px;margin-bottom:0}.about-hero:after{background:linear-gradient(90deg,#000a,transparent 48%)}}
.services-hero{min-height:365px;aspect-ratio:2.85}.services-hero .hero-photo{object-position:center center}.services-hero .hero-content{padding:25px 5.5%}.services-hero h1{font-size:clamp(33px,3.6vw,52px);margin:12px 0 16px}.services-hero .intro{max-width:310px;font-size:15px;margin:0}.services-hero:after{background:linear-gradient(90deg,#000b,transparent 48%)}.service-section{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.service-copy{padding:28px 10% 28px 12%}.service-copy .eyebrow{font-size:11px}.service-copy h2{font-size:clamp(29px,3.2vw,44px)}.service-copy p:not(.eyebrow){font-size:15px;line-height:1.5}.service-section>img{width:100%;height:100%;min-height:360px;max-height:490px;object-fit:cover}.service-reverse .service-copy{padding-left:8%;padding-right:12%}.services-ending{text-align:center;padding:30px 6% 40px;border-top:1px solid #b69d7e;margin:0 2%}.services-ending h2{font-size:clamp(28px,3vw,40px)}.services-ending p{font-size:15px}.services-ending .button{margin-top:8px}@media(max-width:700px){.services-hero{min-height:500px;aspect-ratio:auto}.services-hero h1{font-size:36px}.services-hero .hero-photo{object-position:62% center}.services-hero:after{background:linear-gradient(0deg,#000c,#0002)}.service-section{grid-template-columns:1fr}.service-copy,.service-reverse .service-copy{padding:28px 6%}.service-section>img{height:auto;min-height:0;aspect-ratio:1.35}.service-reverse .service-copy{grid-row:1}.services-ending h2{font-size:30px}}
/* Separate service photography with the site's ivory spacing. */
.service-section{margin-top:18px}.services-ending{margin-top:18px}@media(max-width:700px){.service-section{margin-top:24px}.services-ending{margin-top:24px}}
/* Shallower service photographs with breathing room beside the copy. */
.service-section>img{height:340px;min-height:0;max-height:none;align-self:center;object-position:center center}@media(max-width:700px){.service-section>img{height:auto;aspect-ratio:1.65}}
.process-hero{min-height:350px;aspect-ratio:3}.process-hero .hero-photo{object-position:center 52%}.process-hero .hero-content{padding:28px 5.5%}.process-hero h1{font-size:clamp(35px,4vw,56px)}.process-hero .intro{max-width:400px;font-size:15px;margin-bottom:0}.process-steps{width:94%;max-width:1500px;margin:18px auto}.process-step{display:grid;grid-template-columns:42% 1fr;gap:28px;align-items:center;margin-bottom:18px}.process-copy{padding:10px 6%}.process-copy h2{font-size:clamp(27px,2.8vw,39px);margin:8px 0 14px}.process-copy p:not(.eyebrow){font-size:15px;line-height:1.5;margin:0}.process-copy .eyebrow{font-size:11px;margin:0}.process-step>img,.process-pair,.process-photo-pending{width:100%;height:225px;object-fit:cover}.process-step:nth-child(even){grid-template-columns:1fr 42%}.process-step:nth-child(even) .process-copy{grid-column:2;grid-row:1}.process-step:nth-child(even)>img,.process-step:nth-child(even)>.process-pair{grid-column:1;grid-row:1}.process-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.process-pair img{width:100%;height:225px;object-fit:cover}.process-photo-pending{background:#eeeae2}@media(max-width:700px){.process-hero{min-height:480px;aspect-ratio:auto}.process-hero h1{font-size:36px}.process-steps{width:88%}.process-step,.process-step:nth-child(even){display:flex;flex-direction:column;gap:16px;margin-bottom:30px}.process-copy{padding:8px 0}.process-step>img,.process-photo-pending{height:210px}.process-pair,.process-pair img{height:225px}}
.process-step:nth-child(4)>img{object-position:center 25%}.process-step:nth-child(5)>img{object-position:center 30%}.process-step:nth-child(7)>img{object-position:center 35%}
/* Individual Process framing and gentle display-only lighting corrections. */
.process-hero .hero-photo{object-position:center 42%;filter:brightness(1.1)}
.process-step:nth-child(1)>img{object-position:center 42%;filter:brightness(1.1)}
.process-step:nth-child(2)>img{object-position:center 42%;filter:brightness(1.04)}
.process-step:nth-child(3)>img{object-position:center 48%;filter:brightness(1.1)}
.process-step:nth-child(4)>img{height:280px;object-position:center 27%;filter:brightness(1.12)}
.process-step:nth-child(5)>img{height:280px;object-position:center 34%;filter:brightness(1.24)}
.process-step:nth-child(6) .process-pair img{object-position:center 45%;filter:brightness(1.08)}
.process-step:nth-child(7)>img{height:280px;object-position:center 38%;filter:brightness(1.03)}
@media(max-width:700px){.process-step:nth-child(4)>img,.process-step:nth-child(5)>img,.process-step:nth-child(7)>img{height:auto;aspect-ratio:1.6}}
/* Warmer, more vibrant Process hero, retaining the original photograph. */
.process-hero .hero-photo{filter:brightness(1.13) contrast(1.09) saturate(1.32)}
.process-hero:after{background:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.08) 58%,transparent)}
.contact-intro,.contact-body{display:grid;grid-template-columns:1fr 1fr}.contact-intro>div{padding:45px 10%;align-self:center}.contact-intro h1{font-size:clamp(36px,4.3vw,60px)}.contact-intro p:not(.eyebrow){font:19px/1.6 Georgia,serif}.contact-intro>img{width:100%;height:430px;object-fit:cover;object-position:55% center}.contact-body{padding:36px 5% 55px;gap:6%}.contact-story h2{font-size:clamp(32px,3.5vw,48px)}.contact-story>p:not(.eyebrow){font:21px/1.6 Georgia,serif;max-width:390px}.contact-direct{margin:40px 0}.contact-direct p{margin:6px 0;font-size:16px}.contact-direct a{text-decoration:underline;text-underline-offset:4px}.contact-story .contact-tagline{font-size:24px!important}.contact-field{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.8px;margin-bottom:20px}.contact-field input,.contact-field textarea{display:block;width:100%;margin-top:8px;border:1px solid #bdb6ab;background:transparent;padding:12px;font:16px Arial;color:var(--ink);border-radius:0}.contact-field textarea{resize:vertical}.contact-body fieldset{border:0;margin:0 0 25px;padding:0;min-width:0}.contact-body legend{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;margin-bottom:12px}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-options label{display:flex;align-items:center;gap:7px;font-size:14px}.contact-options input{accent-color:var(--bronze);width:17px;height:17px;margin:0;flex-shrink:0}.contact-field span,.contact-body legend span{color:#906637}.contact-submit{width:100%;border:0;cursor:pointer}.form-note,#form-status{font-size:13px;color:#625e57}.form-note{margin:0 0 18px}@media(max-width:700px){.contact-intro,.contact-body{grid-template-columns:1fr}.contact-intro>div{padding:30px 6%}.contact-intro>img{height:300px}.contact-body{padding:30px 6%;gap:25px}.contact-story h2{font-size:34px}.contact-story>p:not(.eyebrow){font-size:18px}.contact-direct{margin:24px 0}.contact-options{gap:14px 10px}.contact-options label{font-size:13px}}
/* Center the house within the Contact photo. */
.contact-intro>img{height:auto;aspect-ratio:2;object-position:50% 0%;align-self:center}

/* Bring the Contact introduction and form closer together. */
@media(min-width:701px){.contact-body{margin-top:-45px}}
/* Keep shallow hero aspect ratios from expanding beyond tablet screens. */
.hero{width:100%;min-width:0;max-width:100%}
/* Mobile project heroes show the full landscape photograph above the copy. */
@media(max-width:700px){
.hero:is(.rope-hero,.dean-hero,.fowler-hero,.linton-hero){display:flex;flex-direction:column;align-items:stretch;min-height:0;height:auto;max-height:none;aspect-ratio:auto;color:var(--ink);background:var(--paper,#faf9f6)}
.hero:is(.rope-hero,.dean-hero,.fowler-hero,.linton-hero) .hero-photo{position:relative;inset:auto;z-index:auto;width:100%;height:auto;max-width:100%;object-fit:contain;transform:none}
.hero:is(.rope-hero,.dean-hero,.fowler-hero,.linton-hero):after{display:none}
.hero:is(.rope-hero,.dean-hero,.fowler-hero,.linton-hero) .hero-content{padding:25px 6% 30px}
.hero:is(.rope-hero,.dean-hero,.fowler-hero,.linton-hero) h1{font-size:38px;margin:12px 0}
.hero:is(.rope-hero,.dean-hero,.fowler-hero,.linton-hero) .intro{max-width:none;font-size:16px;margin:16px 0 22px}
.hero:is(.rope-hero,.dean-hero,.fowler-hero,.linton-hero) .intro br{display:none}
}
.hero-picture{display:contents}
@media(max-width:700px){
main .hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;height:auto;max-height:none;aspect-ratio:auto;color:var(--ink);background:var(--paper,#faf9f6)}
main .hero .hero-photo{position:relative;inset:auto;z-index:auto;width:100%;height:auto;max-width:100%;aspect-ratio:1.8;object-fit:cover;object-position:center 25%;transform:none}
main .hero:after{display:none}
main .hero .hero-content{padding:25px 6% 30px}
main .hero h1{font-size:36px;margin:12px 0}
main .hero .intro{max-width:none;font-size:16px;margin:16px 0 22px}
main .hero:is(.rope-hero,.dean-hero,.fowler-hero,.linton-hero) .hero-photo{aspect-ratio:1.8;object-fit:cover;object-position:center 25%}
main .rope-hero .hero-photo,main>.hero:not([class*="-hero"]) .hero-photo{object-position:center top}
main .fowler-hero .hero-photo{object-position:center 36%}
main .linton-hero .hero-photo,main .services-hero .hero-photo{object-position:center 35%}
main .process-hero .hero-photo{object-position:center 50%}
.contact-intro>img{aspect-ratio:1.8;object-position:center top}
}
@media(max-width:700px){
main .hero.rope-hero .hero-photo{object-position:center top}
main .hero.fowler-hero .hero-photo{aspect-ratio:2.05;object-position:center 32%}
main .hero.linton-hero .hero-photo,main .hero.services-hero .hero-photo{aspect-ratio:2.05;object-position:center 32%}
}
/* Let the bridge remain visible above the community story on phones. */
@media(max-width:700px){
.about-community{padding:0;min-height:0;background:#343d32}
.about-community .community-photo{position:relative;inset:auto;display:block;z-index:auto;width:100%;height:230px;object-fit:cover;object-position:58% 60%}
.about-community:after{display:none}
.about-community>div{max-width:none;padding:26px 6% 30px}
}
/* Tighten the mobile Services introduction-to-content transition. */
@media(max-width:700px){
main .services-hero .hero-content{padding-bottom:10px}
main .services-hero .intro{margin-bottom:0}
.services-hero + .service-section{margin-top:8px}
.services-hero + .service-section .service-copy{padding-top:18px}
}
/* Tighten the mobile Process introduction-to-steps transition. */
@media(max-width:700px){
main .process-hero .hero-content{padding-bottom:10px}
main .process-hero .intro{margin-bottom:0}
.process-hero + .process-steps{margin-top:8px}
}

/* Show the complete house and yard in the desktop homepage photograph. */
@media(min-width:701px){.hero.home-hero{min-height:0;height:auto;max-height:none;aspect-ratio:2000 / 1333}.home-hero .hero-photo{object-position:center center}}

/* Subtle warmth for the homepage recreational-space photograph. */
.recreational-warm{filter:sepia(.18) saturate(1.18) brightness(1.035)}
