/* Cam's Services · clearer spaces, brighter photography, considered glass. */
:root{--glass-surface:rgba(248,251,247,.88);--glass-line:rgba(255,255,255,.9)}
html{scroll-padding-bottom:110px}body{padding-bottom:100px}.section{padding-block:clamp(54px,7vw,100px)}.section-heading{align-items:end}.section-heading h2{letter-spacing:-.045em}.section-heading p{max-width:520px}
.site-header{background:rgba(255,255,255,.92);backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%);border-bottom:1px solid #e6ebe6}.topbar{font-size:.75rem}.nav-shell{min-height:80px}.logo img{max-height:62px}.nav-toggle{background:#f0f4ed;color:#102033;border:1px solid #dce4d6}.nav-toggle span{background:currentColor}
.dropdown-menu{background:var(--glass-surface);backdrop-filter:blur(28px) saturate(150%);-webkit-backdrop-filter:blur(28px) saturate(150%);border:1px solid var(--glass-line);border-radius:22px;box-shadow:0 22px 70px #07162a22,inset 0 1px 0 #fff;padding:12px;min-width:300px}.dropdown-menu a{padding:14px;border-radius:12px}.dropdown-menu a span{font-size:.78rem;line-height:1.5;color:#526171}.dropdown-menu a:hover,.dropdown-menu a:focus-visible{background:#e8f1db;color:#1f4315}.nav-update-badge{display:none!important}
/* Floating three-action dock. Opaque fallback precedes blur enhancement. */
.mobile-actions{position:fixed;display:flex;align-items:stretch;gap:5px;left:50%;right:auto;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(540px,calc(100% - 24px));border-radius:30px;background:#f1f5ee;padding:7px;border:1px solid #fff;box-shadow:0 12px 40px #07162a26,inset 0 1px 1px #fff;z-index:99}
@supports(backdrop-filter:blur(1px)){.mobile-actions{background:linear-gradient(145deg,#ffffffe8,#e3ebdfc9);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%)}}
.mobile-actions a,.mobile-actions .accessibility-mobile{display:flex!important;flex:1 1 0;flex-direction:column;gap:3px;align-items:center;justify-content:center;border:0;border-radius:23px;min-width:0;height:auto;min-height:58px;padding:7px 4px;background:transparent!important;color:#102033!important;font-size:.73rem;font-weight:800;line-height:1.3;text-align:center;cursor:pointer}
.mobile-actions a:nth-child(2){background:#8fc62f!important;box-shadow:inset 0 1px 0 #d7f7a1,0 2px 8px #486a1220}.mobile-actions a>span[aria-hidden]{font-size:23px;font-weight:500;line-height:22px}.mobile-actions .accessibility-mobile svg{width:23px;height:23px}.mobile-actions .accessibility-mobile span{display:block}.mobile-actions a:hover,.mobile-actions button:hover{filter:brightness(.96)}.accessibility-launcher{display:none!important}.menu-open .mobile-actions{visibility:hidden}.accessibility-dialog{box-shadow:0 24px 90px #07162a44}.site-footer{padding-bottom:35px}
/* A simpler hero gives the work room to speak. */
.photo-home .photo-hero{min-height:clamp(510px,70svh,760px);justify-content:center}.photo-home .photo-hero>.hero-layout{padding-block:80px;flex:initial}.photo-home .hero-copy{max-width:680px}.photo-home .hero-copy h1{font-size:clamp(2.9rem,5.4vw,5rem);letter-spacing:-.055em;line-height:1.05}.photo-home .hero-copy>p{max-width:430px;margin:23px 0 30px;font-size:1.1rem;line-height:1.65;color:#fff}.photo-home .hero-copy .eyebrow{font-size:.68rem;letter-spacing:.13em;color:#d6efab}.photo-home .hero-actions{align-items:center;gap:26px}.hero-secondary{color:white;font-weight:700;font-size:.9rem;padding:12px 0;text-underline-offset:5px}.hero-secondary:hover{text-decoration:underline}.hero-secondary span{margin-left:8px}.photo-home .photo-hero::before{background:linear-gradient(90deg,rgba(4,16,31,.68),rgba(4,16,31,.26) 58%,rgba(4,16,31,.03))}.photo-home .work-slide{filter:brightness(1.1) saturate(1.04)}
.page-hero>img,.hero-bg-fall{filter:brightness(1.12) saturate(1.04)}.page-hero:has(>img)::after{background:linear-gradient(90deg,rgba(4,16,31,.72),rgba(4,16,31,.32) 58%,rgba(4,16,31,.03))}.page-hero-content{max-width:760px}.page-hero h1{letter-spacing:-.045em}.page-hero p{color:#fff;max-width:580px}.page-hero .breadcrumbs{font-size:.78rem;margin-bottom:24px}.page-hero .eyebrow{color:#d6efab}.page-hero-actions{gap:12px}
/* Reference-inspired horizontal service catalogue. */
.service-showcase{background:#fff;overflow:hidden}.service-showcase .container{max-width:1320px}.service-showcase .section-heading{margin-bottom:32px}.service-carousel{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:3px 1px 16px;overscroll-behavior-x:contain}.service-carousel::-webkit-scrollbar{display:none}.service-carousel .service-card{flex:0 0 calc((100% - 48px)/3);display:flex;flex-direction:column;min-height:0;border:1px solid #e7ebe3;border-radius:22px;background:#f5f7f1;scroll-snap-align:start;box-shadow:none;overflow:hidden}.service-carousel .service-card::before{display:none}.service-carousel .service-card img{position:static;display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;transition:transform .3s}.service-carousel .service-card-content{position:static;padding:25px;color:#13271f;display:flex;flex-direction:column;flex:1}.service-carousel .service-card-content span{color:#517038;font-size:.65rem}.service-carousel .service-card-content h3{font-size:1.65rem;line-height:1.2;margin:10px 0 12px;letter-spacing:-.035em}.service-carousel .service-card-content p{color:#4d5b50;font-size:.95rem;line-height:1.6;margin:0 0 22px}.service-carousel .text-link{color:#254f1d;margin-top:auto;font-size:.85rem}.service-card:hover{border-color:#a5be88}.carousel-toolbar{display:flex;justify-content:space-between;align-items:center;margin:8px 0 25px}.carousel-dots{display:flex;gap:3px;align-items:center}.carousel-dots button{width:30px;height:40px;padding:10px;border:0;background:transparent;cursor:pointer}.carousel-dots button::before{content:'';display:block;width:8px;height:8px;border-radius:8px;background:#abb5a6}.carousel-dots button[aria-current=true]{width:42px}.carousel-dots button[aria-current=true]::before{width:24px;background:#173c23}.carousel-arrows{display:flex;gap:12px}.carousel-arrows button{width:46px;height:46px;border-radius:50%;border:1px solid #23392a;background:#fff;color:#173c23;font-size:24px;cursor:pointer}.carousel-arrows button:disabled{opacity:.3;cursor:default}.service-explore{background:white;color:#13271f;border:1px solid #243e2c;border-radius:10px;gap:22px}
/* Project gallery: one clear comparison at a time, full originals on tap. */
.featured-work{background:#f2f5ee}.project-selector{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}.project-selector button{padding:12px 18px;border:1px solid #d2ddcc;border-radius:99px;color:#30462e;background:#fff;font-size:.85rem;font-weight:700;cursor:pointer}.project-selector button[aria-pressed=true]{color:#fff;background:#173c23;border-color:#173c23}.home-comparisons{display:block!important}.home-comparisons .project-comparison{background:#fff;border:1px solid #e0e6dc;border-radius:24px;padding:30px;margin:0;box-shadow:0 10px 35px #173c2307}.home-comparisons .project-comparison[hidden]{display:none!important}.home-comparisons .project-category{color:#567047;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.home-comparisons h3{font-size:1.65rem;letter-spacing:-.03em;margin:9px 0}.home-comparisons .comparison-pair{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.home-comparisons figure{position:relative;margin:0;overflow:hidden;border-radius:15px;background:#eff2ea}.home-comparisons figure img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover}.photo-home .home-comparisons .comparison-pair figcaption{position:absolute;top:14px;left:14px;bottom:auto;color:#172e21;background:rgba(255,255,255,.94);border:1px solid white;backdrop-filter:blur(12px);padding:7px 14px;border-radius:99px;font-size:.72rem;letter-spacing:.05em;font-weight:800;width:auto}.photo-hint{font-size:.8rem;color:#52614d;margin-top:18px}.photo-dialog{border:1px solid #ffffff66;border-radius:24px;max-width:calc(100vw - 24px)}
.detail-card,.info-card,.winter-card,.contact-card{border-radius:22px;border-color:#dfe6db;box-shadow:0 8px 28px #15351e05}.detail-number{background:#ecf4e2;color:#3f6325}.detail-card h3 a{color:#173c23}.detail-card h3 a:hover{text-decoration:underline;text-underline-offset:5px}.service-detail-grid{gap:22px}.check-list li{line-height:1.7}.section-cream{background:#f5f7f1}.button{transition:background .2s,box-shadow .2s,transform .2s}.button:hover{box-shadow:0 6px 20px #07162a18}.home-entry-shell{background:#f9fbf6}.home-entry-intro{max-width:560px}
@media(min-width:851px){.nav-dropdown:has(a[href="/services/lawn-care/"]) .dropdown-menu{width:570px;display:grid;grid-template-columns:1fr 1fr}.dropdown-menu{max-height:70vh;overflow:auto}.main-nav{gap:18px}.main-nav>a,.main-nav>.nav-dropdown>button{font-size:.78rem}.mobile-actions{width:480px}.mobile-actions a,.mobile-actions .accessibility-mobile{min-height:54px}.photo-home .hero-copy{text-shadow:0 2px 18px #07162a22}}
@media(max-width:850px){.main-nav{border-radius:28px 0 0 28px;background:rgba(250,252,247,.98)!important;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px)}.main-nav>.nav-dropdown>button{min-height:62px}.dropdown-menu{background:#eef3e8;border-radius:16px;border:0;box-shadow:none;backdrop-filter:none;margin-bottom:10px}.dropdown-menu a span{display:block!important;font-size:.75rem}.service-carousel .service-card{flex-basis:calc((100% - 24px)/2)}.photo-home .photo-hero>.hero-layout{width:calc(100% - 48px)}.photo-home .photo-hero{min-height:600px}.page-hero:has(>img){min-height:440px}.main-nav .mobile-menu-head{background:transparent}}
@media(max-width:620px){body{padding-bottom:95px}.topbar .container{min-height:30px;padding-block:5px}.nav-shell{min-height:70px}.logo img{max-height:54px}.photo-home .photo-hero{min-height:520px;height:auto}.photo-home .photo-hero>.hero-layout{padding:65px 0;width:calc(100% - 40px)}.photo-home .hero-copy h1{font-size:clamp(2.5rem,10.5vw,3.7rem)}.photo-home .hero-copy>p{font-size:1rem;max-width:300px;margin:20px 0 26px}.photo-home .hero-copy .eyebrow{font-size:.6rem}.photo-home .hero-actions{gap:18px}.photo-home .hero-actions .button{padding:15px 20px}.hero-secondary{font-size:.8rem}.photo-home .photo-hero::before{background:linear-gradient(90deg,#04101fb3,#04101f52 80%,#04101f33)}.service-showcase .container{width:calc(100% - 40px)}.service-carousel{overflow:visible;overflow-x:auto;margin-right:-20px;padding-right:20px;gap:14px}.service-carousel .service-card{flex-basis:85%;border-radius:18px}.service-carousel .service-card-content{padding:22px}.service-carousel .service-card-content h3{font-size:1.5rem}.service-carousel .service-card-content p{font-size:.95rem}.section-heading h2{font-size:2rem}.project-selector{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-15px;padding-bottom:8px}.project-selector button{white-space:nowrap;flex-shrink:0;font-size:.75rem;padding:11px 14px}.home-comparisons .project-comparison{padding:18px}.home-comparisons .comparison-pair{gap:9px}.home-comparisons figure img{aspect-ratio:3/4}.photo-home .home-comparisons .comparison-pair figcaption{top:8px;left:8px;font-size:.63rem;padding:5px 10px}.home-comparisons h3{font-size:1.35rem}.page-hero:has(>img){min-height:390px}.page-hero-content{padding-block:40px}.page-hero:has(>img)::after{background:linear-gradient(90deg,#04101fba,#04101f4d)}.home-entry-shell{border-radius:24px;padding:22px}.home-entry-shell h2{font-size:2rem}.home-entry-continue{font-size:.75rem}.home-entry-top img{width:90px}.home-entry-option{padding:16px;gap:12px;grid-template-columns:40px 1fr 28px}.home-entry-number{display:none}.home-entry-icon{height:40px;width:40px}.home-entry-option strong{font-size:1rem}.home-entry-option b{width:28px;height:28px}.home-entry-option small{line-height:1.5}}
@media(prefers-reduced-transparency:reduce){.mobile-actions,.dropdown-menu,.site-header{background:#f6f8f3;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){.service-carousel{scroll-behavior:auto}.service-card img,.button{transition:none}}
html[data-high-contrast=true] .mobile-actions,html[data-high-contrast=true] .dropdown-menu{background:#fff;border:2px solid #000;backdrop-filter:none}

/* Compact photos make service scopes easier to scan. */
.detail-card .service-thumbnail{width:112px;height:84px;object-fit:cover;border-radius:14px;float:right;margin:0 0 14px 16px}.detail-card h3{clear:both}.detail-card:after{content:"";display:block;clear:both}

/* Explicitly release legacy bottom anchoring so labels cannot stretch. */
.photo-home .home-comparisons .comparison-pair figcaption{bottom:auto;right:auto;height:auto;min-height:0;line-height:1.25;white-space:nowrap}
