/* Customer experience — photography, clear hierarchy and accessible controls. */
:root{--bg:#101211;--card:#1a1e1b;--forest:#275c42;--forest-hi:#34734f;--border:rgba(236,244,238,.12);--text:#f7f8f3;--text-dim:#c4ccc6;--text-faint:#aab7ad}
body{font-size:16px}h1,h2,h3,.wordmark{font-family:'Bebas Neue','Arial Narrow',Impact,sans-serif}p{font-size:1rem;line-height:1.65}.wrap{max-width:660px;padding:0 24px}.wrap-wide{max-width:820px;padding:0 24px}.topbar{padding:14px 24px;background:rgba(16,18,17,.96)}.brand-mark{width:42px!important;height:42px!important;border-radius:50%!important}.brand-tag{font-size:10px;letter-spacing:.12em}.wordmark{font-size:24px}.topbar-actions .link-btn{font-size:14px}.bottomnav{padding-top:10px;padding-bottom:calc(10px + var(--safe-bottom))}.bottomnav a{font-size:12px;letter-spacing:0;text-transform:none;gap:5px}.bottomnav a.active{color:#d5f4c2}.bottomnav a.active:before{content:'';position:absolute;top:0;width:28px;height:3px;background:#d5f4c2;border-radius:2px}.bottomnav svg{height:23px;width:23px}.btn{font-size:14px;letter-spacing:.01em;text-transform:none;min-height:48px;border-radius:12px;font-family:inherit}.btn-primary,.btn-gold{background:#c8edae;color:#132318;box-shadow:none}.btn-primary:hover,.btn-gold:hover{background:#def8cc}.btn-outline{border-color:#65786b}.btn:focus-visible,a:focus-visible,[tabindex]:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #c8edae;outline-offset:4px}.btn:disabled{opacity:.4}.btn-sm{font-size:14px}.link-btn{font-size:14px}input,textarea,select{font-size:16px!important;min-height:50px;border-radius:10px}label{font-size:14px;text-transform:none;letter-spacing:0;margin-top:20px;color:#dce6df}input[type=checkbox]{min-height:22px;height:22px;width:22px;accent-color:#b9e59d}.hero{padding-top:22px!important;position:relative}.hero-photo{height:280px;border-radius:18px;overflow:hidden;position:relative;background:#223329}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 38%}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(0,0,0,.7))}.photo-caption{position:absolute;bottom:20px;left:22px;z-index:1;color:#fff;font-size:12px;font-weight:700;letter-spacing:.18em}.hero-intro{padding-top:26px}.hero h1{font-size:clamp(54px,10vw,82px);line-height:.96;letter-spacing:.01em;margin:12px 0 16px}.hero h1 em{font-style:normal;color:#c8edae}.hero-copy{font-size:16px;max-width:none;margin:0}.kicker{font-size:12px;letter-spacing:.14em;color:#bed2c3}.mode-grid{gap:12px;margin:24px 0}.mode-card{padding:20px!important;background:#1d2921;min-height:224px;border:1px solid #3e5144;border-radius:16px;box-shadow:none}.mode-card.mobile{background:#203c2b;border-color:#446b4f}.mode-card h2{font-size:28px;line-height:1.1;margin:10px 0 8px}.mode-card p{font-size:14px;line-height:1.5;min-height:42px}.mode-card .tag{font-size:10px;letter-spacing:.08em;color:#c8dacb}.mode-card .go{font-size:14px;color:#ddf6cb;margin-top:18px;display:flex;justify-content:space-between}.mode-ico{height:28px;width:28px;margin:0 0 15px;color:#c8edae}.booking-confidence{display:none!important}.community-banner{display:block;margin:14px 0 32px;padding:22px;border:1px solid #3d4d42;background:#17221b;border-radius:14px;text-decoration:none}.community-banner h3{font-size:28px;margin:10px 0}.community-banner p{font-size:14px;margin:0}.community-arrow{display:none}.section-title{margin:28px 0 14px}.section-title h3{font-size:28px}.service-preview{border-top:1px solid #415045}.service-preview article{padding:20px 0;border-bottom:1px solid #334037;display:flex;gap:20px;justify-content:space-between}.service-preview h4{font-size:16px;margin:0 0 6px}.service-preview p{font-size:14px;margin:0}.service-preview strong{color:#c8edae;white-space:nowrap}.service-help{display:flex;gap:16px;flex-wrap:wrap;margin:22px 0;font-size:14px}.card{padding:22px;border-radius:15px;box-shadow:none}.svc-row{min-height:86px;gap:14px}.svc-row .name{font-size:16px!important}.svc-row .sub{font-size:14px;line-height:1.5}.svc-row .price{font-size:16px}.svc-row[aria-checked=true]{background:#263b2b;border-radius:10px}.svc-row .checkbox{width:24px;height:24px;flex-shrink:0}.svc-row .checkbox.checked{background:#c8edae;border-color:#c8edae}.steps{max-width:660px;margin:24px auto 0}.steps .dot{height:5px;border-radius:6px}.booking-flow-head .eyebrow{font-size:12px}.booking-flow-head .step-name{font-size:14px}.flow-note{font-size:14px;background:#1b2a20;line-height:1.6}.booking-flow-head .step-count{color:#c8edae}#bookStepBody h2{font-size:36px;letter-spacing:.015em}#bookStepBody .card{box-shadow:none}#bookStepBody .day-tab{min-width:65px;padding:12px 10px}.day-tab .d{font-size:14px}.day-tab .n{font-size:24px}.slot-btn{font-size:16px!important;min-height:50px}.slot-grid{gap:10px}#bookStepBody .slot-btn.selected{background:#c8edae;color:#142318;border-color:#c8edae}.sticky-footer{position:sticky;bottom:78px;background:rgba(16,18,17,.96);padding:16px 0;z-index:20}.sticky-footer .btn{box-shadow:none;min-height:54px}.next-steps strong{font-size:15px}.next-steps span{font-size:14px}.next-steps .n{font-size:13px}.pill{font-size:12px;padding:7px 10px}.summary-row{gap:20px;padding:13px 0}.summary-row .k,.summary-row .v{font-size:15px}.summary-row.total .v{font-size:26px;color:#c8edae}.field-hint,.field-error,.muted{font-size:14px;line-height:1.6}.field-error{color:#ffab9d}.location-panel{background:#1c2920;border:1px solid #3c5544;border-radius:14px;padding:16px;margin:20px 0}.location-panel .field-hint{margin:12px 0 0}.location-tools{margin:20px 0 28px}.location-tools p{margin-top:10px}.directions-link{display:inline-block;margin-top:12px;font-size:14px;color:#c8edae}.distance-label{font-size:14px;color:#cfebbe;margin-top:8px}.page-kicker{margin-top:30px}.truck-map{height:320px}.truck-map-wrap{border:1px solid #495b4e;border-radius:16px;overflow:hidden}.truck-map-fallback{padding:20px;font-size:14px}.stop-photo{width:66px;height:66px;background:#23382a;border-radius:12px}.stop-photo svg{width:40px;height:40px;color:#c8edae}.stop-card h3{font-size:26px}.stop-card .addr{font-size:14px}.route-status{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.product-photo{background:#203128}.product-photo img{object-fit:contain}.product-card .pname{font-size:18px}.product-card .pcat,.product-card .pprice{font-size:14px}.product-card .pdesc{font-size:14px}.policy-item summary{font-size:17px;padding:20px 0}.policy-item p{font-size:15px}.site-foot{font-size:12px;margin:24px 0}.confirm-code{color:#c8edae;font-size:44px}.confirm-badge{background:#244d32;color:#cdf0b4}.demo-banner{position:relative;background:#d0e9ba;color:#1c2a19;text-align:center;padding:8px 16px;font-size:12px;font-weight:600;z-index:41}.demo-banner a{color:#1c2a19;margin-left:10px}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.photo-credit{font-size:12px;line-height:1.6;color:#97aa9c;margin:26px 0}.photo-credit a{color:inherit}.editorial-photo{width:100%;height:220px;object-fit:cover;border-radius:16px;margin:20px 0}.timeline .step .t{font-size:15px}gmp-place-autocomplete{margin-bottom:14px;width:100%;color-scheme:dark}
@media(min-width:800px){.topbar{padding-left:max(24px,calc((100% - 940px)/2));padding-right:max(24px,calc((100% - 940px)/2))}.hero{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;max-width:940px}.hero-photo{grid-column:2;grid-row:1/3;height:100%;min-height:440px}.hero-intro{grid-column:1;grid-row:1;padding-top:18px}.hero .mode-grid{grid-column:1;grid-row:2}.hero .mode-card{padding:16px!important;min-height:230px}.hero .mode-card h2{font-size:24px}.bottomnav{left:50%;transform:translateX(-50%);max-width:680px;border-radius:18px 18px 0 0;border:1px solid #3c4a40}.hero h1{font-size:72px}.hero-copy{font-size:16px}.wrap:not(.hero){max-width:740px}}
@media(max-width:480px){.wrap,.wrap-wide{padding-left:18px;padding-right:18px}.topbar{padding-left:18px;padding-right:18px}.topbar-actions>.link-btn{display:none}.hero-photo{height:205px}.hero h1{font-size:60px}.mode-card{padding:16px!important;min-height:216px}.mode-card h2{font-size:25px}.mode-card .tag{font-size:9px}.hero-intro{padding-top:22px}.hero .mode-grid{margin-bottom:18px}.brand-tag{font-size:9px}.card{padding:18px}.booking-flow-head{padding-bottom:12px}.flow-note{padding:12px}.shop-grid{gap:12px}.sticky-footer{bottom:76px}.stop-card{gap:12px}.confirm-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
