/* Pinegrow: change colors here; replace the normal image elements in the HTML. */
:root{--green:#173423;--lime:#d8ed83;--paper:#f5f5eb;--ink:#1e3826;--muted:#55644e}*{box-sizing:border-box}html{background:#132b1e}body{margin:0;font:16px/1.5 'Segoe UI',Arial,sans-serif;color:white}h1,h2,p{margin:0}button,select{font:inherit}button{cursor:pointer}img{display:block;width:100%;height:auto}a{color:inherit}a:focus-visible,button:focus-visible,select:focus-visible,.picture-menu:focus-visible{outline:3px solid var(--lime);outline-offset:5px}.skip-link{position:absolute;top:-100px;left:20px;z-index:20;background:var(--paper);color:var(--ink);padding:12px}.skip-link:focus{top:15px}.stage{position:relative;isolation:isolate;min-height:680px;height:100svh;display:flex;flex-direction:column;overflow:hidden}.backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3}.photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,#091c179c 0%,transparent 29%,transparent 53%,#081b1480 72%,#07180ef5 100%);z-index:-2}.masthead{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;padding:30px 4%}.masthead h1{font-size:1rem}.brand-logo{width:clamp(210px,24vw,320px);height:160px;object-fit:contain;object-position:left top;filter:drop-shadow(0 3px 7px #0006)}.demo-label{text-align:right;font-size:.69rem;letter-spacing:.09em;text-shadow:0 1px 4px black;padding-top:8px}.demo-label>span{display:inline-block;background:#143323c9;border:1px solid #b0c47e55;padding:6px 9px}.demo-label small{display:block;font-size:.7rem;letter-spacing:0;margin-top:7px}.menu-shelf{margin-top:auto;padding:0 4% 22px;max-width:100%;position:relative}.menu-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:19px}.local-label{font-size:.69rem;color:#e0eaca;letter-spacing:.1em;font-weight:600;margin-bottom:7px;text-shadow:0 1px 5px black}.menu-heading h2{font-size:clamp(1.35rem,2vw,1.8rem);font-weight:650;letter-spacing:-.02em;text-shadow:0 2px 5px #0008}.arrow-controls{display:flex;gap:10px;flex-shrink:0}.arrow{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #e3edd680;border-radius:50%;background:#112a1dcc;color:white;font-size:1.45rem}.arrow:hover:not(:disabled){background:var(--lime);color:var(--green);border-color:var(--lime)}.arrow:disabled{opacity:.38;cursor:default}.picture-menu{display:flex;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#adc177 #163426;padding:5px 4px 15px;scroll-behavior:smooth}.picture-menu::-webkit-scrollbar{height:5px}.picture-menu::-webkit-scrollbar-thumb{background:#adc177;border-radius:5px}.menu-card{position:relative;flex:0 0 clamp(235px,23vw,340px);height:190px;overflow:hidden;scroll-snap-align:start;text-align:left;padding:0;border:1px solid #d5e3ba66;background:var(--green);color:white;border-radius:5px;transition:transform .18s,border-color .18s,box-shadow .18s}.menu-card:hover{transform:translateY(-4px);border-color:var(--lime);box-shadow:0 4px 14px #0005}.menu-card:focus-visible{outline-offset:1px;border-color:var(--lime)}.menu-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.card-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 15%,#10271b40 40%,#091e15f5 100%)}.card-caption{position:absolute;inset:auto 17px 15px;display:block}.card-caption small{display:block;font-size:.65rem;letter-spacing:.09em;color:#e5eecf;margin-bottom:5px}.card-caption strong{display:block;font-size:1.2rem;line-height:1.2;letter-spacing:-.02em}.card-caption>span{display:flex;justify-content:space-between;gap:9px;font-size:.75rem;color:#e9eddf;margin-top:7px}.card-caption i{font-style:normal;color:var(--lime)}.estimate-card{border-color:var(--lime)}.estimate-card .card-shade{background:linear-gradient(180deg,#25391310,#182d11fa)}.shelf-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;color:#d5dec7;font-size:.69rem;padding-top:8px}.shelf-foot>p:first-child{color:#eff5df}.no-js{font-size:.8rem;padding-top:10px}dialog{width:calc(100% - 32px);max-width:580px;max-height:90svh;overflow-y:auto;padding:0;background:var(--paper);color:var(--ink);border:1px solid #b8c89b;border-radius:8px}dialog::backdrop{background:#07180dda;backdrop-filter:blur(5px)}.service-visual{position:relative}.service-visual>img{height:220px;object-fit:cover}.close-form{position:absolute;right:14px;top:14px}.close-button{width:42px;height:42px;border:1px solid #cbd7b4;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;line-height:1;background:var(--green);color:white}.close-button:hover{background:#2e5235}.dialog-copy{padding:28px 30px}.eyebrow{font-size:.69rem;letter-spacing:.09em;font-weight:700;margin-bottom:13px;color:#4d6240}.dialog-copy h2{font-size:2rem;line-height:1.12;letter-spacing:-.035em}.dialog-copy>p:not(.eyebrow){font-size:.96rem;margin-top:18px}.dialog-copy ul{padding-left:20px;font-size:.94rem;line-height:1.7;margin:22px 0}.disclosure{font-size:.76rem!important;color:var(--muted);line-height:1.55}.action-button{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--green);color:white;width:100%;min-height:48px;border:1px solid var(--green);padding:13px 18px;font-size:.9rem;font-weight:600;margin-top:22px}.action-button:hover{background:#2d5035}.quote-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 30px 0}.quote-top .eyebrow{margin:0}#quote-dialog .dialog-copy{padding-top:20px}#quote-form{margin-top:25px}#quote-form label{display:block;font-size:.87rem;font-weight:650;margin:16px 0 7px}select{background:white;color:var(--ink);border:1px solid #9bad87;border-radius:0;width:100%;padding:12px;min-height:48px;font-size:.96rem}dialog button:focus-visible,dialog select:focus-visible{outline-color:#557732}.preview-result{font-size:.86rem;line-height:1.6;margin-top:18px}.preview-result:empty{display:none}h2,p,small,strong,a{overflow-wrap:anywhere}
@media(min-width:1700px){.menu-card{flex-basis:355px;height:210px}}@media(max-width:900px){.stage{min-height:650px}.masthead{padding:24px}.brand-logo{width:240px;height:135px}.backdrop{object-position:62% center}.menu-shelf{padding-left:24px;padding-right:24px}.menu-card{flex-basis:280px;height:175px}.menu-heading{gap:20px}.demo-label{max-width:220px}}
@media(max-width:600px){.stage{min-height:670px}.masthead{padding:20px;gap:15px;flex-direction:column}.brand-logo{width:215px;height:115px}.demo-label{text-align:left;font-size:.6rem;padding-top:0;max-width:none}.demo-label small{font-size:.65rem;display:inline;margin-left:7px}.demo-label>span{padding:4px 6px}.backdrop{object-position:65% center}.photo-shade{background:linear-gradient(180deg,#071a139c,transparent 32%,transparent 52%,#091d1580 70%,#07180ffa)}.menu-shelf{padding:0 20px 18px}.local-label{font-size:.63rem;max-width:250px}.menu-heading h2{font-size:1.2rem;max-width:230px}.menu-heading{align-items:flex-end;gap:12px;margin-bottom:15px}.arrow{width:42px;height:42px;font-size:1.3rem}.arrow-controls{gap:7px}.picture-menu{gap:14px}.menu-card{flex-basis:78vw;height:175px}.card-caption strong{font-size:1.2rem}.shelf-foot{font-size:.65rem;gap:6px 12px}.shelf-foot>p:last-child{width:100%}.dialog-copy{padding:24px}.dialog-copy h2{font-size:1.8rem}.quote-top{padding-left:24px;padding-right:24px}.service-visual>img{height:190px}}
@media(max-width:360px){.demo-label small{display:block;margin:5px 0 0}.menu-heading{align-items:center}.menu-heading h2{font-size:1.05rem}.arrow{width:38px;height:38px}.menu-card{flex-basis:84vw}.local-label{font-size:.6rem}}
@media(prefers-reduced-motion:reduce){.picture-menu{scroll-behavior:auto}.menu-card{transition:none}.menu-card:hover{transform:none}dialog::backdrop{backdrop-filter:none}}
@media print{.stage{height:auto;min-height:0;background:white;color:black}.backdrop,.photo-shade,.arrow-controls,.demo-label,dialog{display:none}.picture-menu{flex-wrap:wrap;overflow:visible}.menu-shelf{margin-top:25px}.menu-heading h2,.local-label,.shelf-foot{color:black;text-shadow:none}.menu-card{flex-basis:45%;height:170px}}
@media(max-width:600px){.backdrop{object-position:80% center}}
/* Clean vector wordmark replaces the illustrated badge. */
.brand-logo{width:clamp(260px,31vw,390px);height:auto;filter:none}
@media(max-width:900px){.brand-logo{width:310px;height:auto}}
@media(max-width:600px){.brand-logo{width:min(300px,86vw);height:auto}}
