:root{--ink:#17201b;--forest:#203b2d;--forest-2:#315a43;--cream:#f7f3ea;--paper:#fffdf8;--clay:#bd663f;--gold:#d9a84e;--line:#ded8cb;--muted:#667068;--shadow:0 18px 50px rgba(23,32,27,.12);--radius:18px;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6}img{display:block;max-width:100%}a{color:inherit}h1,h2,h3{margin:0 0 .65rem;font-family:Georgia,"Times New Roman",serif;line-height:1.08;letter-spacing:-.025em}h1{font-size:clamp(2.75rem,7vw,5.4rem)}h2{font-size:clamp(2rem,4.2vw,3.45rem)}h3{font-size:1.5rem}p{margin:0 0 1rem}.container{width:min(calc(100% - 2rem),var(--max));margin-inline:auto}.skip-link{position:absolute;left:-999px;top:0;background:#fff;padding:.75rem;z-index:100}.skip-link:focus{left:1rem;top:1rem}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,248,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(222,216,203,.8)}.nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{text-decoration:none;display:flex;align-items:center;gap:.75rem;font-weight:850;line-height:1}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--forest);color:#fff;font-family:Georgia,serif;font-size:1.25rem}.brand span:last-child{font-size:1.13rem}.nav-links{display:flex;align-items:center;gap:1.65rem}.nav-links a{text-decoration:none;font-weight:700;font-size:.93rem}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--clay)}.nav-toggle{display:none;border:0;background:transparent;font:inherit;font-weight:800;padding:.6rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.72rem 1.15rem;border:1px solid var(--forest);border-radius:999px;background:var(--forest);color:#fff;text-decoration:none;font-weight:800;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px);background:var(--forest-2)}.btn-light{background:#fff;color:var(--forest);border-color:#fff}.btn-outline{background:transparent;color:var(--forest)}.btn-clay{background:var(--clay);border-color:var(--clay)}.eyebrow{display:block;margin-bottom:.8rem;color:var(--clay);font-size:.77rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.lede{font-size:clamp(1.08rem,2vw,1.28rem);color:#4c5850;max-width:680px}.hero{padding:clamp(2rem,5vw,4.5rem) 0 4rem;background:linear-gradient(135deg,#f7f3ea 0%,#fffdf8 62%)}.hero-grid{display:grid;grid-template-columns:1fr 1.04fr;gap:clamp(2rem,5vw,5rem);align-items:center}.hero-copy p{max-width:650px}.hero-actions,.cta-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.7rem}.service-note{display:flex;align-items:center;gap:.65rem;margin-top:1.4rem;color:var(--muted);font-size:.91rem;font-weight:650}.service-note:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold)}.hero-media{position:relative}.hero-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px 70px 2px 2px;box-shadow:var(--shadow)}.hero-badge{position:absolute;left:-1.25rem;bottom:-1.35rem;width:148px;height:148px;display:grid;place-content:center;text-align:center;border-radius:50%;background:var(--forest);color:#fff;border:7px solid var(--paper);font-family:Georgia,serif;font-weight:700;line-height:1.2}.hero-badge small{font-family:Inter,sans-serif;font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;margin-top:.35rem}section{padding:clamp(4rem,8vw,7rem) 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.2rem}.section-head p{max-width:560px;color:var(--muted)}.soft{background:var(--cream)}.dark{background:var(--forest);color:#fff}.dark .eyebrow{color:#efb675}.dark .lede,.dark p{color:#dfe7e1}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.card{padding:1.65rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.card-icon{font-size:1.45rem;color:var(--clay);margin-bottom:.8rem}.card p{color:var(--muted)}.card a{font-weight:850;color:var(--forest);text-decoration-thickness:1px;text-underline-offset:4px}.projects-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:250px;gap:.75rem}.project-tile{position:relative;overflow:hidden;border-radius:12px;background:#ddd}.project-tile:first-child{grid-row:span 2}.project-tile img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.project-tile:hover img{transform:scale(1.025)}.project-label{position:absolute;inset:auto 0 0;padding:3rem 1rem 1rem;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.78));font-weight:850}.split{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(2.5rem,7vw,6rem);align-items:center}.split img{width:100%;max-height:650px;object-fit:cover;border-radius:var(--radius)}.check-list{list-style:none;padding:0;margin:1.5rem 0}.check-list li{position:relative;padding:.65rem 0 .65rem 1.8rem;border-bottom:1px solid var(--line)}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--clay);font-weight:900}.area-list{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.5rem}.area-list span{padding:.55rem .85rem;border:1px solid rgba(255,255,255,.27);border-radius:999px;font-weight:700}.cta{padding:3rem;border-radius:24px;background:var(--clay);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:2rem}.cta p{color:#fff;opacity:.9;max-width:650px}.site-footer{padding:4rem 0 2rem;background:#14251c;color:#dce5de}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .9fr;gap:2rem}.footer-grid a{color:#dce5de}.footer-links{display:grid;gap:.4rem}.footer-bottom{margin-top:3rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.15);font-size:.84rem;color:#adbbb1;display:flex;justify-content:space-between;gap:1rem}.page-hero{padding:4.5rem 0;background:var(--cream)}.page-hero p{max-width:720px}.service-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.service-detail{padding:2rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.service-detail ul{padding-left:1.2rem;color:var(--muted)}.notice{padding:1.25rem;border-left:4px solid var(--gold);background:#fbf4e7;border-radius:0 10px 10px 0}.gallery-section{padding-top:3rem}.gallery-group{margin-bottom:4.5rem}.gallery-group-header{display:grid;grid-template-columns:.5fr 1fr;gap:2rem;margin-bottom:1.4rem}.gallery-group-header p{color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:.75rem}.gallery figure{margin:0;grid-column:span 4}.gallery figure.wide{grid-column:span 8}.gallery figure.tall{grid-column:span 4;grid-row:span 2}.gallery img{width:100%;height:300px;object-fit:cover;border-radius:10px}.gallery .tall img{height:100%}.gallery figcaption{font-size:.84rem;color:var(--muted);padding:.45rem .2rem}.quote-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(2rem,6vw,5rem);align-items:start}.contact-card{background:var(--forest);color:#fff;padding:2rem;border-radius:var(--radius)}.contact-card p{color:#dce5de}.placeholder{display:inline-block;background:#fff0bc;color:#614b00;padding:.25rem .5rem;border-radius:4px;font-weight:800}.form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:grid;gap:.38rem}.field.full{grid-column:1/-1}.field label{font-weight:800;font-size:.9rem}.field input,.field select,.field textarea{width:100%;padding:.85rem;border:1px solid #bbb8ae;border-radius:8px;background:#fff;font:inherit}.field textarea{min-height:145px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(217,168,78,.32);border-color:var(--forest)}.fine-print{font-size:.82rem;color:var(--muted)}.breadcrumbs{font-size:.85rem;margin-bottom:1.2rem;color:var(--muted)}.breadcrumbs a{color:var(--forest)}
@media(max-width:860px){.nav-toggle{display:block}.nav-links{display:none;position:absolute;top:76px;left:0;right:0;padding:1rem;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-links .btn{margin-top:.4rem}.hero-grid,.split,.quote-grid{grid-template-columns:1fr}.hero-copy{order:1}.hero-media{order:2}.hero-badge{left:.75rem;width:118px;height:118px}.cards{grid-template-columns:1fr 1fr}.projects-grid{grid-template-columns:1fr 1fr}.project-tile:first-child{grid-column:span 2}.section-head,.cta{align-items:flex-start;flex-direction:column}.gallery-group-header{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:580px){.container{width:min(calc(100% - 1.25rem),var(--max))}.nav-wrap{height:68px}.nav-links{top:68px}.brand-mark{width:38px;height:38px}.hero{padding-top:2.2rem}.hero-actions .btn,.cta-actions .btn{width:100%}.hero-media img{border-radius:2px 42px 2px 2px}.cards,.service-detail-grid,.projects-grid,.footer-grid{grid-template-columns:1fr}.project-tile,.project-tile:first-child{grid-column:auto;grid-row:auto;min-height:245px}.gallery figure,.gallery figure.wide,.gallery figure.tall{grid-column:1/-1;grid-row:auto}.gallery img,.gallery .tall img{height:auto;aspect-ratio:4/3}.cta{padding:2rem 1.25rem}.form{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Compact branded revision */
.brand-logo{display:block;width:52px;height:52px;object-fit:cover;object-position:center 43%;border-radius:50%;background:#fff}.brand-mark{display:none}
.hero{padding:clamp(1.5rem,3.5vw,3rem) 0 2.5rem}.hero-grid{gap:clamp(1.5rem,4vw,3.5rem)}.hero-media>img{height:clamp(330px,32vw,450px);aspect-ratio:auto}.hero-actions,.cta-actions{margin-top:1.15rem}.service-note{margin-top:.9rem}
.hero-badge{width:122px;height:122px;padding:0;overflow:hidden;background:#fff;border-width:5px}.hero-badge img{width:100%;height:100%;object-fit:cover;object-position:center 43%;border-radius:50%;box-shadow:none;aspect-ratio:1}
section{padding:clamp(2.75rem,5vw,4.5rem) 0}.section-head{margin-bottom:1.5rem}.card{padding:1.35rem}.projects-grid{grid-auto-rows:220px}.check-list{margin:1rem 0}.check-list li{padding:.5rem 0 .5rem 1.7rem}.area-list{margin-top:1rem}.cta{padding:2rem}.site-footer{padding:2.5rem 0 1.25rem}.footer-bottom{margin-top:1.75rem}.page-hero{padding:3rem 0}.gallery-group{margin-bottom:3rem}.gallery-section{padding-top:2.25rem}.gallery img{height:270px}.service-detail{padding:1.6rem}
.compact-proof{background:var(--forest);color:#fff}.compact-proof .container{display:flex;align-items:center;justify-content:space-between;gap:2rem}.compact-proof p{margin:0;color:#dfe7e1}.compact-proof strong{color:#fff}
@media(max-width:860px){.brand-logo{width:46px;height:46px}.compact-proof .container{align-items:flex-start;flex-direction:column;gap:1rem}.gallery img{height:240px}}
@media(max-width:580px){section{padding:2.6rem 0}.hero{padding:1.5rem 0 2.25rem}.hero-media>img{height:280px}.hero-badge{width:96px;height:96px}.section-head{margin-bottom:1.2rem}.card{padding:1.15rem}.page-hero{padding:2.4rem 0}.gallery-group{margin-bottom:2.5rem}.site-footer{padding:2.25rem 0 1.25rem}.projects-grid{grid-auto-rows:210px}}

/* Home-only final density pass */
.home .hero{padding-bottom:1.4rem}.home main>section:not(.hero){padding-block:2rem}.home .home-services{padding-top:1.5rem}.home .home-services .cards{grid-template-columns:repeat(2,1fr)}.home .home-services .card{display:flex;min-height:190px;flex-direction:column}.home .home-services .card p{margin-bottom:.6rem}.home .home-services .card a{margin-top:auto}.home .soft{padding-top:1.8rem}.home main>section:last-child{padding-block:1.5rem}.home main>section:last-child .cta{padding:1.55rem 1.75rem}.home .site-footer{padding:1.7rem 0 .8rem}.home .footer-grid{grid-template-columns:1.45fr .65fr .85fr;align-items:start;gap:1.5rem}.home .footer-grid h3{margin-bottom:.35rem;font-size:1.18rem}.home .footer-grid p{margin:.4rem 0 0}.home .footer-links{gap:.2rem}.home .footer-bottom{margin-top:1.1rem;padding-top:.8rem}.footer-wordmark{display:inline-block;color:#fff;text-decoration:none;font-family:Georgia,"Times New Roman",serif;font-size:1.65rem;font-weight:800;line-height:1}.footer-cta{background:#fff;color:#14251c;border:2px solid #fff;box-shadow:0 5px 18px rgba(0,0,0,.18)}.footer-cta:hover{background:var(--gold);border-color:var(--gold);color:#14251c}
@media(max-width:860px){.home main>section:not(.hero){padding-block:1.8rem}.home .footer-grid{grid-template-columns:1fr 1fr}.home .footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:580px){.home .hero{padding-bottom:1.25rem}.home main>section:not(.hero){padding-block:1.6rem}.home .home-services{padding-top:1.35rem}.home .home-services .cards{grid-template-columns:1fr}.home .home-services .card{min-height:0}.home main>section:last-child{padding-block:1.2rem}.home main>section:last-child .cta{padding:1.35rem 1.15rem}.home .site-footer{padding:1.45rem 0 .75rem}.home .footer-grid{grid-template-columns:1fr;gap:1.1rem}.home .footer-grid>div:first-child{grid-column:auto}.home .footer-bottom{margin-top:.9rem}}
.home .footer-grid .footer-cta{background:#fff;color:#14251c;border-color:#fff}.home .footer-grid .footer-cta:hover{background:var(--gold);color:#14251c;border-color:var(--gold)}

/* Stronger personal brand presence */
.nav-wrap{height:88px}.brand-logo{width:70px;height:70px;object-fit:cover;object-position:center;border-radius:50%}.hero-badge{left:-2.2rem;bottom:-2.2rem;width:180px;height:180px;overflow:hidden;border:0;background:#fff;border-radius:50%;filter:drop-shadow(0 10px 16px rgba(23,32,27,.2))}.hero-badge img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:50%;filter:none}.footer-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none}.footer-avatar{width:68px;height:68px;object-fit:cover;object-position:center;border-radius:50%}.footer-brand .footer-wordmark{color:#fff}
@media(max-width:860px){.nav-links{top:88px}.hero-badge{left:.25rem;bottom:-1.5rem;width:145px;height:145px}}
@media(max-width:580px){.nav-wrap{height:74px}.nav-links{top:74px}.brand-logo{width:58px;height:58px}.hero-badge{left:.2rem;bottom:-1.1rem;width:116px;height:116px}.footer-avatar{width:58px;height:58px}}

/* Reference-led home header and hero */
.home .nav-wrap{height:100px}.home .home-brand{gap:1rem}.home .home-brand .brand-logo{width:92px;height:92px;flex:0 0 92px}.brand-copy{display:grid;gap:.18rem}.brand-copy strong{font-family:Georgia,"Times New Roman",serif;font-size:2rem;line-height:1}.brand-copy small{font-size:.68rem;font-weight:750;color:var(--muted);letter-spacing:.02em}.home .hero{padding-top:.8rem}.home .hero-grid{grid-template-columns:.92fr 1.08fr;gap:1rem}.home .hero h1{font-size:clamp(3rem,4.7vw,4.25rem);max-width:620px}.home .hero-media>img{height:430px;border-radius:0 44px 0 0;filter:contrast(1.07) saturate(1.035)}.home .home-services{padding-top:1.25rem}.home .home-services .section-head{display:none}
.hero-badge img{transform:scale(1.13)}
@media(max-width:860px){.home .nav-wrap{height:88px}.home .nav-links{top:88px}.home .home-brand .brand-logo{width:74px;height:74px;flex-basis:74px}.brand-copy strong{font-size:1.55rem}.brand-copy small{display:none}.home .hero{padding-top:1.25rem}.home .hero-grid{grid-template-columns:1fr;gap:1.4rem}.home .hero h1{font-size:clamp(2.8rem,9vw,4rem)}.home .hero-media>img{height:330px;border-radius:0 38px 0 0}}
@media(max-width:580px){.home .nav-wrap{height:74px}.home .nav-links{top:74px}.home .home-brand{gap:.6rem}.home .home-brand .brand-logo{width:60px;height:60px;flex-basis:60px}.brand-copy strong{font-size:1.3rem}.home .hero{padding-top:1rem}.home .hero h1{font-size:clamp(2.65rem,12vw,3.35rem)}.home .hero-media>img{height:270px}}

/* Closer reference composition */
.home .site-header{overflow:visible}.home .nav-wrap{height:82px}.home .home-brand .brand-logo{width:118px;height:118px;flex-basis:118px;position:relative;z-index:2}.home .home-brand{gap:.8rem}.home .brand-copy strong{font-size:2.35rem}.home .brand-copy small{font-size:.7rem}.home .hero{padding-top:1.35rem;padding-bottom:.8rem;background:linear-gradient(100deg,#f7f3ea 0%,#fffdf8 44%,#f4efe5 100%)}.home .hero-grid{grid-template-columns:.78fr 1.22fr;gap:.75rem}.home .hero h1{font-size:clamp(2.65rem,3.7vw,3.45rem);max-width:520px}.home .hero .lede{font-size:1rem;line-height:1.48}.home .hero-media>img{height:345px;border-radius:0}.home .hero-badge{display:none}.home .home-services{padding-block:1.15rem}.home .home-services .cards{grid-template-columns:repeat(4,1fr);gap:.7rem}.home .home-services .card{display:grid;grid-template-columns:58px 1fr;grid-template-rows:auto auto 1fr;column-gap:.75rem;min-height:170px;padding:1rem}.home .home-services .card-icon{grid-column:1;grid-row:1/4;display:grid;place-items:center;width:56px;height:56px;margin:0;border-radius:50%;background:var(--forest);color:#fff}.home .home-services .card:nth-child(even) .card-icon{background:var(--clay)}.home .home-services .card-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.home .home-services .card h3{grid-column:2;margin:0 0 .3rem;font-size:1.2rem}.home .home-services .card p{grid-column:2;margin:0 0 .4rem;font-size:.83rem;line-height:1.45}.home .home-services .card a{grid-column:2;font-size:.8rem;align-self:end}.home .home-services .card a:after{content:" →";color:var(--clay)}
@media(min-width:1280px){.home .home-brand{margin-left:-92px}}
@media(max-width:1050px){.home .home-services .cards{grid-template-columns:repeat(2,1fr)}.home .home-services .card{min-height:150px}}
@media(max-width:860px){.home .nav-wrap{height:82px}.home .nav-links{top:82px}.home .home-brand .brand-logo{width:76px;height:76px;flex-basis:76px}.home .brand-copy strong{font-size:1.55rem}.home .hero{padding-top:1.1rem}.home .hero-grid{grid-template-columns:1fr}.home .hero h1{font-size:clamp(2.55rem,8vw,3.35rem)}.home .hero-media>img{height:285px}}
@media(max-width:580px){.home .nav-wrap{height:76px}.home .nav-links{top:76px}.home .home-brand .brand-logo{width:68px;height:68px;flex-basis:68px}.home .brand-copy strong{font-size:1.28rem}.home .hero{padding-top:.9rem}.home .hero h1{font-size:clamp(2.35rem,11vw,2.9rem)}.home .hero-media>img{height:230px}.home .home-services .cards{grid-template-columns:1fr}.home .home-services .card{min-height:136px}.home .home-services .card-icon{width:52px;height:52px}.home .home-services .card-icon svg{width:31px;height:31px}}

/* Make the original Mike badge a primary landing-page element */
.home .home-brand .brand-logo{width:132px;height:132px;flex-basis:132px;object-fit:cover;object-position:center;border:4px solid var(--paper);box-shadow:0 8px 24px rgba(23,32,27,.16)}.home .hero-badge{display:block;left:-4.2rem;bottom:-2.1rem;width:250px;height:250px;border:6px solid var(--paper);border-radius:50%;overflow:hidden;background:#fff;filter:drop-shadow(0 12px 20px rgba(23,32,27,.24));z-index:3}.home .hero-badge img{display:block;width:100%;height:auto;max-width:none;transform:translateY(-27px);object-fit:initial;object-position:initial;border-radius:0;filter:none;aspect-ratio:auto}.home .hero-media{margin-bottom:1.3rem}
@media(max-width:860px){.home .home-brand .brand-logo{width:84px;height:84px;flex-basis:84px}.home .hero-badge{left:.8rem;bottom:-1.8rem;width:190px;height:190px}.home .hero-badge img{transform:translateY(-21px)}.home .hero-media{margin-bottom:1.8rem}}
@media(max-width:580px){.home .home-brand .brand-logo{width:72px;height:72px;flex-basis:72px}.home .hero-badge{left:.65rem;bottom:-1.45rem;width:164px;height:164px;border-width:4px}.home .hero-badge img{transform:translateY(-18px)}.home .hero-media{margin-bottom:1.55rem}}

/* Full illustrated Mike hero treatment */
.home .hero-character{position:absolute;left:39%;bottom:0;height:405px;z-index:3;filter:drop-shadow(0 12px 18px rgba(23,32,27,.22));pointer-events:none}.home .hero-media .hero-character img{display:block;width:auto;height:100%;max-width:none;aspect-ratio:auto;object-fit:contain;border-radius:0;box-shadow:none;filter:none}.home .hero-media{overflow:visible}.home .hero-media>img{position:relative;z-index:1}.home .hero-character~*{z-index:2}
@media(max-width:860px){.home .hero-character{left:48%;height:370px}.home .hero-media{overflow:hidden;margin-bottom:0}}
@media(max-width:580px){.home .hero-character{left:48%;height:300px}.home .hero-media{margin-bottom:0}}

/* Correct hero crop: protect Mike's head and face, trim only lower torso */
.home .hero-media{height:280px;overflow:hidden;margin-bottom:0}.home .hero-media>img{width:100%;height:280px;object-fit:cover;object-position:center;filter:contrast(1.02) saturate(1.02)}.home .hero-character{top:0;bottom:auto;left:48%;width:245px;height:280px;overflow:hidden;filter:drop-shadow(0 10px 15px rgba(23,32,27,.2))}.home .hero-media .hero-character img{width:375px;height:auto;max-width:none;margin-left:-76px;transform:none;object-fit:initial}.home .hero{padding-block:.8rem}.home .hero-grid{align-items:center}
@media(max-width:860px){.home .hero-media{height:235px}.home .hero-media>img{height:235px}.home .hero-character{top:0;left:50%;width:215px;height:235px}.home .hero-media .hero-character img{width:330px;margin-left:-67px}}
@media(max-width:580px){.home .hero-media{height:205px}.home .hero-media>img{height:205px}.home .hero-character{top:0;left:47%;width:190px;height:205px}.home .hero-media .hero-character img{width:292px;margin-left:-59px}}

/* Compact capability-led Services and Projects pages */
.compact-page-hero{padding:2.2rem 0}.compact-page-hero h1{max-width:900px;font-size:clamp(2.35rem,4.2vw,3.7rem)}.compact-page-hero .lede{font-size:1.05rem}.compact-services{padding:2rem 0}.compact-services .service-detail-grid{gap:.85rem}.compact-services .service-detail{padding:1.35rem;scroll-margin-top:105px}.compact-services .service-detail h2{font-size:1.85rem}.compact-services .service-detail>p{margin-bottom:.55rem;color:var(--muted)}.compact-services .service-detail ul{columns:2;column-gap:1.5rem;margin:.65rem 0 1rem}.compact-services .service-detail li{break-inside:avoid;margin-bottom:.22rem}.detail-links{display:flex;flex-wrap:wrap;gap:.42rem;padding-top:.75rem;border-top:1px solid var(--line)}.detail-links a,.project-jump a{display:inline-flex;padding:.38rem .68rem;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--forest);font-size:.78rem;font-weight:800;text-decoration:none}.detail-links a:hover,.project-jump a:hover{border-color:var(--clay);color:var(--clay)}.services-close{padding:1.7rem 0 2.3rem;background:var(--cream)}.services-close .container{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.75rem 2rem}.services-close h2{font-size:2rem}.services-close p{margin:0;max-width:760px}.services-close .specialty-note{grid-column:1/-1;padding-top:.75rem;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}
.project-jump{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.2rem}.projects-page .gallery-section{padding-top:2rem}.projects-page .gallery-group{margin-bottom:3.25rem;scroll-margin-top:105px}.projects-page .gallery-group-header{margin-bottom:1rem}.projects-page .gallery-group-header h2{font-size:clamp(1.9rem,3.2vw,2.8rem)}.projects-page .gallery.two-up figure{grid-column:span 6}.projects-page .gallery.feature-only figure{grid-column:span 12}.projects-page .gallery.feature-only img{height:auto;max-height:520px;aspect-ratio:16/8;object-fit:cover}.projects-page #custom-carpentry .gallery figure{grid-column:span 3}.projects-page #kitchens-baths-closets .gallery figure:nth-child(n+3),.projects-page #interior-remodeling .gallery figure:nth-child(n+3){grid-column:span 6}.projects-close{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 0 0;border-top:1px solid var(--line)}.projects-close p{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:1.5rem;font-weight:700}
@media(max-width:860px){.compact-services .service-detail ul{columns:1}.services-close .container{grid-template-columns:1fr}.services-close .specialty-note{grid-column:auto}.projects-page #custom-carpentry .gallery figure{grid-column:span 6}}
@media(max-width:580px){.compact-page-hero{padding:1.8rem 0}.compact-page-hero h1{font-size:2.35rem}.compact-services{padding:1.35rem 0}.compact-services .service-detail{padding:1.15rem}.detail-links a,.project-jump a{min-height:42px;align-items:center}.projects-page .gallery.two-up figure,.projects-page .gallery.feature-only figure,.projects-page #custom-carpentry .gallery figure,.projects-page #kitchens-baths-closets .gallery figure:nth-child(n+3),.projects-page #interior-remodeling .gallery figure:nth-child(n+3){grid-column:1/-1}.projects-page .gallery.feature-only img{aspect-ratio:4/3}.projects-close{align-items:flex-start;flex-direction:column}}

/* Pre-launch contact and trust refinements */
.trust-line{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin-top:1rem;color:var(--forest);font-size:.82rem;font-weight:850}.trust-line span{display:flex;align-items:center;gap:.45rem}.trust-line span:not(:first-child):before{content:"•";color:var(--clay)}
.reviews-section{padding-block:2.2rem!important}.reviews-panel{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.5rem 1.75rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.reviews-panel h2{font-size:clamp(1.8rem,3.5vw,2.65rem)}.reviews-panel p{max-width:720px;margin-bottom:0;color:var(--muted)}.reviews-panel .btn{flex:0 0 auto}
.insurance-note{display:inline-block;margin:.5rem 0 1.25rem;padding:.6rem .85rem;border-left:4px solid var(--gold);background:var(--cream);color:var(--forest)}
.cta-contact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;min-width:min(100%,560px)}.cta-contact a{display:grid;padding:.8rem .9rem;border:1px solid rgba(255,255,255,.5);border-radius:10px;color:#fff;text-decoration:none}.cta-contact a:hover{background:rgba(255,255,255,.12)}.cta-contact strong{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.cta-contact span{overflow-wrap:anywhere;font-size:.9rem}
.contact-options{display:grid;gap:1rem}.contact-options div{display:grid;gap:.15rem}.contact-options strong{color:#efb675;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase}.contact-options a{color:#fff;font-weight:750;overflow-wrap:anywhere}.contact-card .fine-print{color:#bdc9c0}
.site-footer .footer-wordmark{color:#fff}.site-footer .footer-links a{overflow-wrap:anywhere}.site-footer .footer-grid{grid-template-columns:1.2fr 1fr .65fr}
@media(max-width:860px){.reviews-panel{align-items:flex-start;flex-direction:column}.cta-contact{width:100%;grid-template-columns:1fr}.site-footer .footer-grid{grid-template-columns:1fr 1fr}.site-footer .footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:580px){.trust-line{display:grid;gap:.25rem}.trust-line span:not(:first-child):before{content:"✓"}.reviews-panel{padding:1.25rem}.reviews-panel .btn{width:100%}.site-footer .footer-grid{grid-template-columns:1fr}.site-footer .footer-grid>div:first-child{grid-column:auto}.contact-card{padding:1.5rem}.contact-options a{font-size:.95rem}}
.home .project-tile .outdoor-kitchen-finished{object-position:52% 56%}.projects-page #outdoor-kitchens .outdoor-kitchen-finished{object-position:52% 58%}
.projects-page #custom-carpentry .gallery figure{grid-column:span 4}.projects-page #custom-carpentry .gallery figure:nth-child(n+4){grid-column:span 3}.projects-page .fences-gallery figure{grid-column:span 4}.projects-page .fences-gallery figure:nth-last-child(-n+2){grid-column:span 6}
@media(max-width:860px){.projects-page #custom-carpentry .gallery figure,.projects-page .fences-gallery figure{grid-column:span 6}.projects-page #custom-carpentry .gallery figure:last-child,.projects-page .fences-gallery figure:last-child{grid-column:span 12}}
@media(max-width:580px){.projects-page #custom-carpentry .gallery figure,.projects-page #custom-carpentry .gallery figure:last-child,.projects-page .fences-gallery figure,.projects-page .fences-gallery figure:last-child{grid-column:1/-1}}
.owner-profile{margin:0;text-align:center}.owner-photo-frame{position:relative;overflow:hidden;padding:7px;border-radius:28px;background:linear-gradient(145deg,var(--gold),var(--clay) 48%,var(--forest));box-shadow:0 18px 38px rgba(23,32,27,.2)}.owner-photo-frame:after{content:"";position:absolute;inset:7px;border-radius:21px;box-shadow:inset 0 0 34px rgba(20,37,28,.18);pointer-events:none}.about-owner .owner-photo-frame img{width:100%;max-height:none;aspect-ratio:1;object-fit:cover;border-radius:21px}.owner-profile figcaption{display:grid;gap:.12rem;margin-top:.9rem;color:var(--forest)}.owner-profile figcaption strong{font-family:Georgia,"Times New Roman",serif;font-size:1.45rem}.owner-profile figcaption span{color:var(--clay);font-size:.78rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
@media(max-width:860px){.owner-profile{width:min(100%,540px);margin-inline:auto}}
.about-owner .owner-photo-frame img{height:auto}
.about-owner .owner-profile{width:min(100%,320px);justify-self:center}
@media(max-width:580px){.about-owner .owner-profile{width:min(100%,280px)}}

/* Final typography, composition and usability polish */
h1{font-size:clamp(2.75rem,4.4vw,4rem)}h2{font-size:clamp(1.9rem,3.15vw,2.85rem)}
.page-hero h1{font-size:clamp(2.75rem,4vw,3.7rem);max-width:1100px}.compact-page-hero h1{font-size:clamp(2.55rem,3.6vw,3.3rem)}
.home .hero h1{max-width:560px;font-size:clamp(2.7rem,3.35vw,3.15rem)}.keep-together{white-space:nowrap}.home .soft .section-head h2{font-size:clamp(2rem,2.7vw,2.55rem)}
.about-page .page-hero h1{font-size:clamp(2.8rem,3.75vw,3.5rem)}.about-owner h2{font-size:clamp(2.1rem,2.9vw,2.65rem)}.contact-page .page-hero h1{font-size:clamp(2.8rem,4vw,3.75rem)}
.home .hero-character{left:58%}.home .hero-media>img{object-position:56% center}
.gallery figcaption{padding:.55rem .25rem;font-size:1rem;line-height:1.45;color:var(--muted)}
.projects-page .gallery img,.projects-page .gallery .tall img,.projects-page .gallery.feature-only img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;background:var(--cream)}
.home .cta{display:grid;grid-template-columns:minmax(270px,.8fr) minmax(0,1.35fr)}.home .cta-contact{grid-template-columns:.82fr 1.45fr 1.05fr;min-width:0;width:100%}.home .cta-contact span{font-size:.88rem}.home .cta-contact a[href^="mailto:"] span{white-space:nowrap}
.contact-owner{margin:-.2rem 0 1.25rem;color:#dce5de!important;font-weight:750}.about-page .cards .card h3{font-size:1.35rem}
@media(max-width:1000px){.home .cta{grid-template-columns:1fr}.home .cta-contact{grid-template-columns:repeat(3,minmax(0,1fr))}.home .cta-contact a[href^="mailto:"] span{white-space:normal}}
@media(max-width:860px){h1{font-size:clamp(2.35rem,6.5vw,3.25rem)}h2{font-size:clamp(1.8rem,5vw,2.5rem)}.page-hero h1,.compact-page-hero h1,.about-page .page-hero h1,.contact-page .page-hero h1{font-size:clamp(2.35rem,6.5vw,3.1rem)}.home .hero h1{font-size:clamp(2.45rem,7vw,3rem)}.home .hero-character{left:56%}.home .hero-media>img{object-position:54% center}}
@media(max-width:700px){.home .cta-contact{grid-template-columns:1fr}.home .cta-contact a[href^="mailto:"] span{white-space:normal}}
@media(max-width:580px){h1{font-size:clamp(2.1rem,10vw,2.75rem)}h2{font-size:clamp(1.7rem,7.7vw,2.2rem)}.page-hero h1,.compact-page-hero h1,.about-page .page-hero h1,.contact-page .page-hero h1{font-size:clamp(2.1rem,10vw,2.65rem)}.home .hero h1{font-size:clamp(2.15rem,10.2vw,2.65rem)}.home .hero-character{left:53%}.home .soft .section-head h2{font-size:2rem}.gallery figcaption{font-size:.98rem}}
.projects-page .gallery-group-header{grid-template-columns:.75fr 1fr}.projects-page .gallery-group-header h2{font-size:clamp(1.8rem,2.55vw,2.35rem)}
@media(max-width:860px){.projects-page .gallery-group-header{grid-template-columns:1fr}}

/* SEO service landing pages: reuse the established visual language */
.service-page .page-hero{padding:clamp(2.6rem,5vw,4rem) 0}.service-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(2rem,5vw,4rem);align-items:start}.service-copy{max-width:780px}.service-copy h2{margin-top:2.2rem}.service-copy h2:first-child{margin-top:0}.service-copy ul{padding-left:1.25rem}.service-copy li{margin-bottom:.45rem}.service-aside{position:sticky;top:112px;padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--cream)}.service-aside h2{font-size:1.55rem}.service-aside .btn{width:100%;margin:.35rem 0 1rem}.service-photo{margin:1.5rem 0}.service-photo img{width:100%;height:auto;border-radius:var(--radius);background:var(--cream)}.service-photo figcaption{padding:.5rem .15rem;color:var(--muted);font-size:.9rem}.related-services{display:flex;flex-wrap:wrap;gap:.55rem}.related-services a{padding:.45rem .75rem;border:1px solid var(--line);border-radius:999px;color:var(--forest);font-size:.85rem;font-weight:800;text-decoration:none}.related-services a:hover{border-color:var(--clay);color:var(--clay)}.service-area-note{padding:1.2rem 1.35rem;border-left:4px solid var(--gold);background:var(--cream)}
@media(max-width:860px){.service-layout{grid-template-columns:1fr}.service-aside{position:static}.service-page .page-hero{padding:2.4rem 0}}
.review-quote{max-width:760px}.review-source{display:flex;align-items:center;gap:.75rem;margin-bottom:.55rem}.review-source strong{color:var(--forest)}.review-source span{color:var(--gold);letter-spacing:.08em}.review-quote blockquote{margin:0;color:var(--ink);font-size:1.02rem;line-height:1.65}.review-quote .reviewer{margin-top:.55rem;color:var(--muted);font-weight:800}
