/* Shared behavior, four independent visual identities. */
.wrap,.nav-in{max-width:1320px;padding-left:5vw;padding-right:5vw}section{scroll-margin-top:92px}p{font-size:max(1em,16px)}.demo-flag,.demo{font-size:12px;padding:8px 20px}.skip{position:fixed;top:-100px;left:16px;z-index:999;background:white;color:#10221b;padding:12px}.skip:focus{top:12px}a,button{touch-action:manipulation}a:hover{text-underline-offset:5px}.scene-photo{position:absolute;inset:-80px 0;width:100%;height:calc(100% + 160px);object-fit:cover;transform:translateY(var(--drift,0px));pointer-events:none}.opening,.hero{position:relative;isolation:isolate;overflow:hidden}.scene-photo{z-index:-2}.opening:after,.hero:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none}.demo-form-note{font-size:13px;margin-top:16px;color:inherit;opacity:.8}input,select,textarea{border-radius:4px}label{font-size:13px!important}footer{line-height:1.8}.eyebrow,.cap,.stencil,.stamp{font-size:12px!important}.btn,.nav-cta{transition:transform .2s,background .2s}.btn:hover,.nav-cta:hover{transform:translateY(-3px)}
/* Bennett: sunlit landscape, a letter, and tactile album pages. */
.bennett{--sage:#334d3d;--sage-deep:#24372d;--honey:#a17b32;--muted:#697163;background:#f0eee5}.bennett header.nav{background:#263c30}.bennett .brand b{font-size:21px}.bennett .opening{padding:70px 0 80px;min-height:820px;display:flex;align-items:center}.bennett .opening:after{background:linear-gradient(90deg,rgba(19,35,25,.9),rgba(19,35,25,.55) 43%,rgba(19,35,25,.03) 76%)}.bennett .opening>.wrap{width:100%}.bennett .hero{background:none;box-shadow:none;transform:none;text-align:left;color:#fff8e9;padding:0;max-width:650px;overflow:visible}.bennett .hero:after{display:none}.bennett .hero h1{font-size:clamp(48px,5.8vw,80px);margin:0;max-width:13ch;letter-spacing:-.035em;line-height:1.03}.bennett .hero h1 em{color:#e1d49e}.bennett .hero .eyebrow{color:#e1d49e}.bennett .hero .who{color:#e8e4cc;max-width:45ch;font-size:13px}.bennett .hero p.lede{color:#f4f0e5;margin:22px 0;max-width:40ch;font-size:18px}.bennett .cta-row{justify-content:flex-start;gap:12px}.bennett .hero .btn-sage{background:#f7f0df;color:#233a2b}.bennett .hero .btn-line{color:white;border-color:#bec8b3;background:#1e322766}.bennett .sheet{transform:none;box-shadow:none;background:transparent;padding:70px 0}.bennett #letter{padding:0!important;background:#fffcf3}.bennett .letter{max-width:780px;margin:auto;position:relative}.bennett .letter:before{content:'❧';display:block;text-align:center;color:#7c8b64;font-size:48px;margin-bottom:25px}.bennett .letter h2{font-size:60px}.bennett .letter p{font-size:21px}.bennett .sign{font-size:30px}.bennett #story{padding-top:30px!important}.bennett h2{font-size:clamp(34px,4.3vw,55px);letter-spacing:-.03em}.bennett .pair{gap:70px;border-top:1px solid #c6cdbd;padding-top:35px}.bennett .person h3{font-size:38px}.bennett .tag{background:#e2e6d8;border-radius:2px}.bennett #home{background:#e6eadf;padding-top:40px!important}.bennett figure{background:#fffdf5;padding:12px 12px 20px;box-shadow:0 22px 45px #1e352b20;transform:rotate(2deg)}.bennett .flip figure{transform:rotate(-2deg)}.bennett figure img{aspect-ratio:1.3;object-fit:cover}.bennett figcaption{padding-left:6px}.bennett .split{gap:65px}.bennett .why-grid{gap:50px}.bennett .why-item .n{font-size:32px;color:#81906d}.bennett .support{padding:95px 0;background:#293f32}.bennett .support .wrap{max-width:1000px}.bennett .support .eyebrow{color:#e4cc91}.bennett #contact{background:#fffcf3}.bennett .crow{flex-wrap:wrap}.bennett .crow a{overflow-wrap:anywhere}.bennett footer{background:#263c30}
/* Fresh Cut: expansive landscape with chartreuse route markers. */
.lawn{--ink-green:#123a2a;--ink-red:#375a20;--kraft:#f2f3e8;--muted:#506354;--off-white:#fbfcf4;--display:'Work Sans',sans-serif;background:#f2f3e8}.lawn h1,.lawn h2,.lawn h3{font-weight:700;letter-spacing:-.055em;text-transform:none;line-height:1.07}.lawn .brand b{font-weight:800;letter-spacing:-.05em;font-size:24px}.lawn header.nav{background:#123a2a}.lawn .nav-cta{background:#d5ed8c;color:#183722;border-radius:40px;letter-spacing:.03em}.lawn .hero{padding:60px 0 0;color:#fff}.lawn .hero:after{background:linear-gradient(90deg,#0c281de8,#0c281d65 65%,#0c281d20),linear-gradient(0deg,#123a2a,transparent 40%)}.lawn .hero .scene-photo{object-position:center}.lawn .sack{background:none;border:0;padding:0;min-height:620px}.lawn .sack:before{display:none}.lawn .hero h1{font-size:clamp(58px,7.2vw,100px);line-height:.99;letter-spacing:-.065em;max-width:12ch;margin-top:36px}.lawn .hero h1 em{color:#d5ed8c}.lawn .hero .top-line .stencil{color:#e9f5ce;letter-spacing:.12em}.lawn .hero .sub{color:#f0f3e8;max-width:42ch;font-size:18px}.lawn .btn{border-radius:40px;font-size:14px;letter-spacing:0;text-transform:none}.lawn .hero .btn-red{background:#d5ed8c;color:#153b24}.lawn .hero .btn-line{color:white;border:1px solid #ffffff66}.lawn .weights{max-width:660px;border-top:1px solid #ffffff55;margin-top:35px}.lawn .weights div{border-right:1px solid #ffffff44;padding-left:0}.lawn .weights div+div{padding-left:24px}.lawn .weights b{color:#fff;font-weight:600;font-size:34px}.lawn .weights span{color:#d9e4cf;font-size:12px;letter-spacing:.06em}.lawn .route{position:relative;margin:45px 0 0;padding:35px 0 45px}.lawn .route-head h2{color:#eaf5db;font-size:30px;letter-spacing:-.03em}.lawn .route-head .stencil{color:#d5ed8c}.lawn .route-grid{border:0;background:#244b37;border-radius:8px;overflow:hidden}.lawn .day{border-right:1px solid #58755f;color:white}.lawn .day .d{color:#d5ed8c}.lawn .day .hood+.hood{color:#c3d4bd}.lawn .day.today{background:#d5ed8c}.lawn .day.today .d,.lawn .day.today .hood,.lawn .day.today .hood+.hood{color:#1d3d28}.lawn section{padding:85px 0}.lawn #work h2,.lawn #quote h2{font-size:clamp(36px,4.4vw,58px);max-width:16ch;margin:16px 0 40px}.lawn .svc,.lawn .svc-row{border-width:1px;border-color:#b7c6ad}.lawn .svc-row{padding:28px 0}.lawn .svc-row h3{font-size:26px;letter-spacing:-.04em}.lawn .svc-row .rate{font-size:30px;font-weight:600}.lawn .svc-row .n{font-size:14px}.lawn .svc-row p{font-size:16px}.lawn .crew{background:#173f2e}.lawn .crew h2{font-size:48px}.lawn .guarantee{background:#d5ed8c;border:0;border-radius:0 65px 0 0;padding:40px}.lawn .guarantee h3{font-size:32px}.lawn .guarantee p{color:#29452c}.lawn .rev{background:transparent;border:0;border-top:1px solid #9caf98;padding:25px 0}.lawn .rev-grid{gap:45px}.lawn .rev p{font-size:20px}.lawn #quote{background:#e4ebd8}.lawn form{border:0;border-radius:10px;padding:36px;box-shadow:0 20px 40px #16352112}.lawn .contact-line{border-width:1px}.lawn .contact-line a{font-size:20px;text-transform:none;overflow-wrap:anywhere}.lawn input,.lawn select,.lawn textarea{border:1px solid #b0c0a5;background:#fff}.lawn .crew .who{font-weight:600}
/* Hartman: navy, copper, and a carefully typeset service ledger. */
.plumbing{--iron:#132631;--iron-2:#0b1c25;--chalk:#f5f3ed;--paper:#e7eceb;--locate:#a44e2c;--brass:#e9b694;--muted:#56646a;--rule:#c8d0cc;background:#f5f3ed}.plumbing .siren{background:#793420;font-size:14px}.plumbing .hero{padding:65px 0 0;color:#fff}.plumbing .hero:after{background:linear-gradient(90deg,#0b1c25f2,#0b1c25a8 52%,#0b1c2535),linear-gradient(0deg,#0b1c25,transparent 70%)}.plumbing .hero .scene-photo{object-position:65% center}.plumbing .hero-grid{grid-template-columns:1.2fr .8fr;gap:50px;align-items:end}.plumbing .hero h1{font-size:clamp(45px,5.9vw,78px);line-height:1.01;letter-spacing:-.035em;font-weight:600;text-transform:none;max-width:15ch}.plumbing .hero h1 em{color:#edb58b}.plumbing .hero .stamp{color:#f0bd97;max-width:44ch;line-height:1.7}.plumbing .hero .lede{color:#d8e1e2;font-size:17px;max-width:51ch}.plumbing .oncall{background:#102935d9;border:1px solid #ffffff35;border-top:3px solid #d7976f;backdrop-filter:blur(12px);padding:28px;max-width:420px;margin-top:220px;box-shadow:0 24px 65px #0005}.plumbing .oncall .sub{color:#ccd8dc}.plumbing .bignum{background:#dfac85;color:#162a32}.plumbing .facts{border-color:#ffffff35;margin-top:60px}.plumbing .facts div{border-color:#ffffff35}.plumbing .facts dt{color:#aec3ca;font-size:12px}.plumbing .facts dd{font-size:21px}.plumbing .book{padding:100px 0;border:0}.plumbing .book h2{font-size:clamp(38px,5vw,64px);text-transform:none;letter-spacing:-.035em;font-weight:600}.plumbing .book .intro{max-width:65ch;font-size:17px}.plumbing .ledger{gap:0 65px;margin-top:55px}.plumbing .item{padding:24px 0}.plumbing .item .name{font-size:23px}.plumbing .item .note{font-size:16px;line-height:1.65}.plumbing .item .price{font-size:20px;color:#80401f}.plumbing .rubber{border:2px solid #a46d4c;color:#875037;top:110px;right:8vw}.plumbing .truck{background:#132631;color:#fff;padding:90px 0}.plumbing .truck .say{color:#cad7d8}.plumbing .truck .stamp{color:#dfac85}.plumbing .truck h2{font-size:50px;text-transform:none}.plumbing .manifest{border-color:#ffffff25}.plumbing .manifest span{color:#d5e0e3;border-color:#ffffff25;padding:20px;font-size:14px}.plumbing .manifest span b{color:#edb58b}.plumbing .crew{padding:95px 0}.plumbing .credential{background:#f9faf5;border:1px solid #b5c5c5;border-top:7px solid #132631;box-shadow:12px 14px 0 #c9d4d1;transform:rotate(-1deg)}.plumbing .crew h2,.plumbing .flow h2,.plumbing .qa h2,.plumbing .close h2{font-size:clamp(35px,4vw,50px);text-transform:none;letter-spacing:-.03em}.plumbing .quote{background:#dce5e4;padding:80px 0}.plumbing .quote blockquote{font-size:clamp(36px,5vw,62px);max-width:25ch;font-weight:500;letter-spacing:-.03em}.plumbing .steps h3{font-size:25px}.plumbing .steps .t{font-size:12px}.plumbing .close{background:#e9eeeb}.plumbing #cb{background:#fff;padding:28px;border:1px solid #ccd7d2}.plumbing summary{font-size:24px;padding-top:25px;padding-bottom:25px}.plumbing .cred-list dt{font-size:12px}
/* Brooks: night-game portrait, oversized type and a scouting report. */
.baseball{--stock:#0c1620;--stock-2:#182632;--card:#14232e;--rule:#49606b;--rule-soft:#2e4351;--pencil:#f2f2e9;--pencil-2:#b3c2c8;--stitch:#ffb357;background:#0c1620}.baseball header.nav{background:#0c1620eF;border-bottom:1px solid #ffffff22}.baseball .brand{font-size:28px}.baseball .nav-cta,.baseball .btn-stitch{background:#ffb357;color:#12212b}.baseball .hero{padding:80px 0 0}.baseball .hero:after{background:linear-gradient(90deg,#09151eeF,#09151e9c 45%,#09151e0a 80%),linear-gradient(0deg,#0c1620,transparent 55%)}.baseball .scene-photo{object-position:center 42%}.baseball .scorecard{display:block;background:transparent;border:0;position:relative}.baseball .sc-left{padding:0;min-height:630px;border:0;max-width:650px}.baseball .school-line{max-width:450px}.baseball .school-line .cap{color:#e2e7e8}.baseball .yr{background:#ffb357;color:#14232e;font-size:17px}.baseball .hero h1{font-size:clamp(100px,12.5vw,180px);max-width:6ch;letter-spacing:-.05em;line-height:.82;margin-top:35px}.baseball .hero .sub{color:#d1dce0;font-size:18px;max-width:38ch;margin-top:28px}.baseball .notation{gap:14px;max-width:480px}.baseball .pos-num{background:#10232c99;border:1px solid #ffb35799;width:50px;height:60px;font-size:42px}.baseball .gloss{color:#d1dce0!important}.baseball .sc-right{flex-direction:row;align-items:center;padding:25px 0;gap:40px;border-top:1px solid #ffffff35}.baseball .diamond{width:145px;flex:none}.baseball .vital-rows{display:grid;grid-template-columns:repeat(4,1fr);width:100%;border:0}.baseball .vital-rows div{display:block;padding:12px 25px;border:0;border-left:1px solid #ffffff30}.baseball .vital-rows dd{font-size:36px}.baseball .boxscore{background:#ffb357;color:#12212b;border:0}.baseball .bs b{color:#12212b;font-size:66px}.baseball .bs .cap{color:#34434b;font-size:12px}.baseball .bs{padding:32px;border-color:#12212b33}.baseball section{padding:85px 0}.baseball .inning{margin-bottom:35px}.baseball .inning .no{background:none;border:1px solid #6a818b;color:#ffb357}.baseball .inning h2{font-size:48px;letter-spacing:-.02em}.baseball .card{border:1px solid #344d5b;background:#13242f}.baseball .card>h3{background:#243b49;color:#e9f1f4;font-size:23px;padding:22px}.baseball .card>h3 .pos{font-size:12px}.baseball .row{padding:18px 24px}.baseball .row dd{font-size:35px;color:#ffb357}.baseball .badge{background:#a4c2ba;color:#14232e;font-size:12px}.baseball .badge.self{background:#dbc398}.baseball .film .slot{background:linear-gradient(90deg,#0b1924e8,#0b1924ab),url(baseball.jpg) center 65%/cover;min-height:350px;aspect-ratio:2.4}.baseball .film .slot p{color:#edf3f5;font-size:18px}.baseball .film .play{border-color:#ffb357;border-radius:50%}.baseball .film .play svg{fill:#ffb357}.baseball .film .note{padding:25px;font-size:16px}.baseball .about p{font-size:21px;line-height:1.7}.baseball .sched{border:0;background:none}.baseball .sched .row{padding:28px 0}.baseball .sched .ev{font-size:30px}.baseball .sched .when{font-size:19px;color:#ffb357}.baseball .cbox{border:1px solid #344d5b}.baseball .cbox a{color:#ffb357;font-size:24px}.baseball footer{background:#071018}
.bennett .opening .scene-photo{transform:translateY(var(--drift,0px)) scaleX(-1)}.baseball .demo-flag{background:#172b36;color:#d9e3e5}.baseball .demo-flag strong,.baseball .demo-flag a{color:#ffbd72}
@media(min-width:1450px){.scene-photo{object-position:center 45%}.bennett .opening{min-height:900px}}
@media(max-width:900px){.wrap,.nav-in{padding-left:25px;padding-right:25px}.bennett .opening{min-height:780px}.bennett .opening:after{background:linear-gradient(90deg,#15291dd9,#15291d50),linear-gradient(0deg,#15291dc9,transparent)}.bennett .pair,.bennett .split{gap:30px}.lawn .hero h1{font-size:76px}.plumbing .hero-grid{grid-template-columns:1fr}.plumbing .oncall{margin-top:10px;max-width:none}.plumbing .hero h1{max-width:17ch}.baseball .hero h1{font-size:130px}.baseball .sc-left{max-width:65%}.baseball .sc-right{gap:10px}.baseball .vital-rows div{padding:12px}.baseball .notation{flex-wrap:wrap}.baseball .boxscore .wrap{grid-template-columns:repeat(4,1fr)}.baseball .bs{padding:24px 8px}.baseball .bs b{font-size:50px}}
@media(max-width:600px){section{scroll-margin-top:80px}.demo-flag,.demo{font-size:12px;line-height:1.4}.nav-in{padding:12px 20px}.wrap{padding-left:22px;padding-right:22px}.scene-photo{object-position:65% center}.bennett .opening{min-height:820px;padding:250px 0 45px;align-items:end}.bennett .opening .scene-photo{object-position:67% top}.bennett .opening:after{background:linear-gradient(0deg,#15291d 4%,#15291ddd 45%,#15291d10 95%)}.bennett .hero h1{font-size:49px;max-width:14ch}.bennett .hero p.lede{font-size:17px}.bennett .hero .who{font-size:12px}.bennett .hero .cta-row{gap:10px}.bennett .hero .btn{padding:13px 17px;font-size:14px}.bennett .sheet{padding:45px 0}.bennett .letter p{font-size:19px}.bennett .letter h2{font-size:46px}.bennett .pair,.bennett .split,.bennett .why-grid,.bennett .contact-grid{grid-template-columns:1fr}.bennett .split.flip .txt{order:0}.bennett figure{margin:10px 7px}.bennett .support{padding:60px 0}.bennett .brand b{font-size:16px}.bennett .brand span{font-size:10px}.lawn .hero{padding-top:40px}.lawn .hero h1{font-size:62px;max-width:12ch}.lawn .hero .top-line{gap:8px 14px}.lawn .hero .scene-photo{object-position:65% center}.lawn .hero:after{background:linear-gradient(90deg,#0a271de5,#0a271d88),linear-gradient(0deg,#123a2a,transparent)}.lawn .sack{min-height:620px}.lawn .route{margin-top:5px}.lawn .route-grid{grid-template-columns:repeat(2,1fr)}.lawn .day{border-bottom:1px solid #58755f}.lawn .route-head{align-items:start;flex-direction:column;gap:6px}.lawn .weights span{font-size:10px;letter-spacing:.02em}.lawn .weights b{font-size:28px}.lawn .weights div+div{padding-left:12px}.lawn .svc-row{grid-template-columns:24px 1fr auto;gap:12px}.lawn .svc-row p{grid-column:2/4}.lawn .svc-row .rate{grid-column:3;grid-row:auto}.lawn .svc-row h3{font-size:22px}.lawn .crew h2{font-size:38px}.lawn .crew-grid,.lawn .quote-grid,.lawn .rev-grid{grid-template-columns:1fr}.lawn form{padding:24px}.lawn .contact-line a{font-size:18px}.lawn section{padding:60px 0}.plumbing .hero{padding-top:40px}.plumbing .hero h1{font-size:49px}.plumbing .hero .scene-photo{object-position:60% center}.plumbing .hero:after{background:#0b1c25bd}.plumbing .facts div{padding-left:0;padding-right:12px}.plumbing .facts dd{font-size:18px}.plumbing .ledger{grid-template-columns:1fr}.plumbing .item .row{flex-wrap:wrap;gap:8px}.plumbing .item .name{font-size:21px;flex:1}.plumbing .item .lead{display:none}.plumbing .item .price{font-size:18px}.plumbing .item .code{width:40px;font-size:11px}.plumbing .item .note{padding-left:0}.plumbing .book{padding:55px 0}.plumbing .rubber{margin:0 22px 30px}.plumbing .truck h2{font-size:39px}.plumbing .manifest span{padding:14px;font-size:12px;white-space:normal}.plumbing .crew-grid,.plumbing .close-grid{grid-template-columns:1fr}.plumbing .credential{margin-right:12px}.plumbing .quote blockquote{font-size:40px}.plumbing .brand{font-size:20px;gap:8px}.plumbing .brand .est{font-size:10px}.baseball .hero{padding-top:280px}.baseball .hero .scene-photo{object-position:67% top}.baseball .hero:after{background:linear-gradient(0deg,#0c1620 10%,#0c1620eF 48%,#0c162012 90%)}.baseball .sc-left{max-width:100%;min-height:0}.baseball .hero h1{font-size:112px;max-width:6ch}.baseball .hero .sub{font-size:18px}.baseball .sc-right{margin-top:35px;flex-wrap:wrap}.baseball .diamond{width:100px;margin:auto}.baseball .vital-rows{grid-template-columns:repeat(2,1fr)}.baseball .vital-rows dt{font-size:12px}.baseball .boxscore .wrap{grid-template-columns:1fr 1fr}.baseball .boxscore .bs{padding:24px 5px}.baseball .inning{flex-wrap:wrap;gap:12px}.baseball .inning h2{font-size:38px}.baseball .inning .cap{width:100%;margin:0}.baseball .card>h3{flex-wrap:wrap;font-size:21px}.baseball .card>h3 .pos{font-size:11px}.baseball section{padding:55px 0}.baseball .film .slot{padding:26px 18px;aspect-ratio:auto}.baseball .about p{font-size:19px}.baseball .school-line .cap{font-size:11px!important}.baseball .links{background:#12232d}.baseball .cbox a{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}.scene-photo{transform:none!important}}
@media(max-width:700px){.links:not(.open){visibility:hidden}.links.open{visibility:visible}}
@media(max-width:600px){.bennett .opening .scene-photo{object-position:30% top}.lawn .weights{grid-template-columns:repeat(3,1fr)}.lawn .weights div{border-bottom:0}.lawn .weights span{letter-spacing:0}.baseball .burger{background:#172d38}}
@media print{.scene-photo{display:none!important}.opening,.hero{min-height:0!important;padding:20px 0!important;color:black!important}.opening:after,.hero:after{display:none!important}.hero *{color:black!important}.sc-left{min-height:0!important}.oncall{margin-top:0!important}.skip{display:none}}
