:root{--ink:#17352c;--paper:#faf8f1;--green:#d9e9a9;--orange:#ec8055;--muted:#68746c;--line:#d9dfd2}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.55 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:4px}[hidden]{display:none!important}.topbar{max-width:1240px;margin:auto;padding:24px 38px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:800;letter-spacing:-1px}.brand-icon{background:var(--ink);color:var(--green);padding:5px 7px;border-radius:8px;font-size:17px;letter-spacing:-2px}.brand-area{font-size:9px;letter-spacing:1.4px;max-width:70px;line-height:1.5;margin-left:8px;font-weight:600}.topbar nav{display:flex;gap:30px;font-size:14px;font-weight:600}.owner-link{border-bottom:1px solid var(--ink)}main{max-width:1240px;margin:auto;padding:0 38px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;padding:72px 0 68px;align-items:center}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:2px;margin:0 0 20px}.dot{display:inline-block;background:#77a254;width:8px;height:8px;border-radius:50%;margin-right:6px}h1{font-size:clamp(42px,5.9vw,77px);line-height:1.03;letter-spacing:-4px;margin:0 0 24px;font-weight:800}h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-3px}.intro{max-width:420px;color:var(--muted);font-size:17px;margin-bottom:28px}.button{border:0;border-radius:8px;padding:15px 22px;display:inline-flex;align-items:center;justify-content:center;gap:30px;font-weight:600;font-size:14px}.dark{background:var(--ink);color:#fff}.dark:hover{background:#2e5144}.hero-caption{font-size:11px;color:var(--muted);margin-top:20px}.hero-art{height:392px;background:var(--green);border-radius:120px 120px 18px 18px;position:relative;overflow:hidden}.sun{position:absolute;width:90px;height:90px;border-radius:50%;background:#f5f2cc;right:30px;top:32px}.route{position:absolute;left:35px;top:33px;font-size:9px;letter-spacing:1.6px}.route strong{display:block;font:italic 24px/1.2 Georgia,serif;letter-spacing:0;margin-top:9px}.truck{position:absolute;left:12%;bottom:72px;width:74%;height:129px;background:var(--orange);border:3px solid var(--ink);border-radius:13px 31px 7px 7px;z-index:2;transform:rotate(-3deg)}.truck-label{position:absolute;left:18px;top:46px;font-size:13px;line-height:1.1;letter-spacing:2px}.truck-label b{font-size:19px}.window{position:absolute;left:35%;top:31px;width:37%;height:47px;background:#2b4b3a;border:3px solid var(--ink);display:flex;align-items:flex-end;justify-content:center;gap:9px}.window i{background:#f3dab2;height:18px;width:13px;border-radius:6px 6px 0 0}.cab{position:absolute;right:10px;top:17px;width:18%;height:64px;background:#f8e7b1;border:3px solid var(--ink);border-radius:5px 20px 3px 3px}.awning{position:absolute;top:23px;left:31%;width:44%;height:15px;background:repeating-linear-gradient(90deg,#fcf1d4 0,#fcf1d4 12px,#d36c45 12px,#d36c45 24px);border:2px solid var(--ink);border-radius:3px}.wheel{position:absolute;bottom:-18px;background:#17352c;width:41px;height:41px;border-radius:50%;border:9px solid #17352c;box-shadow:inset 0 0 0 10px #fcf1d4}.wheel.one{left:37px}.wheel.two{right:25px}.ground{position:absolute;bottom:56px;left:20px;right:20px;border-top:2px solid var(--ink);transform:rotate(-3deg)}.sticker{position:absolute;right:18px;bottom:19px;background:var(--paper);border:2px solid var(--ink);padding:13px;border-radius:50%;font-weight:bold;font-size:11px;line-height:1.2;transform:rotate(12deg);z-index:3}.listings{border-top:1px solid var(--line);padding:45px 0 55px;scroll-margin-top:20px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-heading .eyebrow{margin-bottom:6px}h2{font-size:31px;line-height:1.2;letter-spacing:-1px;margin:0 0 15px}.muted{color:var(--muted);font-size:14px}.filters{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:21px 0 30px}.search-wrap{border:1px solid var(--line);background:#fff;display:flex;align-items:center;border-radius:8px;gap:10px;padding:0 15px;min-width:330px;margin:0}.search-wrap>span:first-child{font-size:27px}.search-wrap input{border:0;padding:13px 0;width:100%;background:transparent;outline-offset:0}.chips{display:flex;gap:7px}.chip{border:1px solid var(--line);background:transparent;border-radius:25px;padding:9px 16px;font-size:13px;white-space:nowrap;color:var(--ink)}.chip.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.card-art{height:110px;position:relative;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;background:#efe2c2}.card-art .initials{font:italic 50px Georgia,serif;letter-spacing:-3px}.card:nth-child(3n+2) .card-art{background:#dce7cf}.card:nth-child(3n) .card-art{background:#f1d5c9}.badge{padding:5px 10px;background:#fff;border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.4px}.badge.open{background:#17352c;color:#fff}.card-body{padding:22px}.card h3{font-size:21px;line-height:1.2;margin:0 0 5px;letter-spacing:-.6px}.cuisine{margin:0 0 17px;font-size:12px;color:var(--muted)}.card-detail{font-size:13px;display:flex;gap:10px;margin:10px 0}.card-detail span:first-child{width:17px;flex-shrink:0}.note{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin:17px 0}.directions{display:flex;justify-content:space-between;font-size:13px;font-weight:700;border-top:1px solid var(--line);padding-top:15px;margin-top:18px}.empty{grid-column:1/-1;padding:50px;text-align:center;background:#eeeee3;border-radius:12px}.empty h3{font-size:23px;margin:0 0 7px}.empty p{margin:0;color:var(--muted)}.owner-banner{padding:35px;background:var(--green);border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:65px}.owner-banner h2{font-size:27px;margin-bottom:8px}.owner-banner p{margin-bottom:0;font-size:14px}.owner-banner .eyebrow{font-size:10px;margin-bottom:10px}footer{max-width:1240px;margin:auto;border-top:1px solid var(--line);padding:28px 38px 40px;display:flex;gap:24px;align-items:center;justify-content:space-between}footer p{color:var(--muted);font-size:12px}.small{font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.owner-page{max-width:760px;margin:40px auto 70px}.back{font-size:13px}.owner-heading{margin:35px 0}.owner-heading h1{font-size:53px}.owner-heading .intro{max-width:550px}.panel{background:#fff;border:1px solid var(--line);padding:32px;border-radius:14px}.panel h2{font-size:25px}form label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;margin:19px 0}form input,form textarea{border:1px solid #c5cfc3;border-radius:7px;padding:12px;color:var(--ink);background:#fff;min-width:0;width:100%}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:25px}.text-button{border:0;background:transparent;color:var(--ink);text-decoration:underline;font-size:13px;padding:8px}.notice{padding:15px 19px;background:#fff0d3;border:1px solid #dfc994;border-radius:8px;font-size:13px;margin:20px 0}.notice.success{background:#e5efd7;border-color:#b6cf9d}@media(max-width:900px){.hero{gap:25px}.hero-art{height:340px}.hero h1{font-size:59px}.cards{grid-template-columns:1fr 1fr}.filters{align-items:flex-start;flex-direction:column}.search-wrap{width:100%}.owner-banner{align-items:flex-start;flex-direction:column}footer{flex-wrap:wrap}}@media(max-width:600px){.topbar{padding:18px 20px}.topbar .brand-area,.finder-link{display:none}.brand{font-size:22px}.topbar nav{gap:0;font-size:12px}main{padding:0 20px}.hero{grid-template-columns:1fr;padding:39px 0}.hero h1{font-size:58px}.hero-art{height:285px;border-radius:70px 70px 14px 14px}.route strong{font-size:21px}.truck{bottom:52px;height:118px;max-width:350px}.ground{bottom:35px}.sticker{bottom:12px;font-size:9px}.intro{font-size:16px}.cards{grid-template-columns:1fr}.filters{gap:16px}.search-wrap{min-width:0}.chip{font-size:12px;padding:9px 13px}.section-heading{align-items:flex-start}.section-heading h2{font-size:28px}.owner-banner{padding:25px}.owner-banner h2{font-size:26px}footer{padding:24px 20px;gap:10px}footer p{margin:2px 0;width:100%}.panel{padding:22px}.form-grid{grid-template-columns:1fr;gap:0}.form-actions{align-items:flex-start;flex-direction:column}.owner-heading h1{font-size:48px}.empty{padding:35px 20px}}

.brand-name{font-size:23px;line-height:1.08;letter-spacing:-.8px}.brand-icon{letter-spacing:-1px}.topbar .brand-area{max-width:72px}@media(max-width:600px){.brand-name{font-size:18px}.topbar .brand{gap:8px}.topbar nav{margin-left:15px}.owner-link{white-space:nowrap}}

.closed-button{background:#b42318;color:#fff;border:1px solid #b42318}.closed-button:hover{background:#912018;border-color:#912018}

.logout-button{white-space:nowrap;flex-shrink:0;min-height:44px;padding:10px 16px;background:#fff;border:1px solid #b8b8b0;color:var(--ink);font-size:14px;line-height:1.2;text-decoration:none}.logout-button:hover{background:#f2f2eb}

.save-button{background:#237a3b;color:#fff;border:1px solid #237a3b}.save-button:hover{background:#195d2c;border-color:#195d2c}

.owner-event-section{margin-top:32px;border-top:1px solid #deded8;padding-top:24px}.owner-event{padding:20px 0;border-bottom:1px solid #deded8}.owner-event h3{margin:0 0 8px;overflow-wrap:anywhere}.owner-event .form-actions{margin-top:14px;gap:10px}.owner-event .note{white-space:pre-wrap;overflow-wrap:anywhere}

.owner-password-section{margin:28px 0;border-top:1px solid #deded8;padding-top:20px}.owner-password-section summary{cursor:pointer;font-weight:700;padding:10px 0}.owner-password-section form{max-width:420px;margin-top:18px}
/* Owner forms use readable mobile input text without focus zoom. */
.owner-page{width:100%;min-width:0}
.owner-page .panel,.owner-page form,.owner-page .form-grid>label{min-width:0;max-width:100%}
.owner-page input,.owner-page textarea{font-size:16px;line-height:1.4;max-width:100%;min-width:0}
.owner-page .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.owner-page .section-heading h2{min-width:0;overflow-wrap:anywhere}
.owner-page .notice{overflow-wrap:anywhere}
@media(max-width:600px){
 .owner-page{margin:28px auto 45px}
 .owner-page .panel{padding:20px}
 .owner-page .owner-heading h1{font-size:clamp(32px,9vw,48px);line-height:1.12}
 .owner-page .intro{font-size:16px}
 .owner-page .form-grid{grid-template-columns:minmax(0,1fr)}
 .owner-page .section-heading{flex-wrap:wrap;gap:12px}
 .owner-page .section-heading h2{font-size:24px}
 .owner-page .button{min-height:44px;max-width:100%}
 #login-form>.button{width:100%}
}

.lineup-caption{color:var(--muted);font-size:14px;line-height:1.45}@media(max-width:600px){.lineup-caption{font-size:13px}}
/* Keep the lineup caption full width and shorten the gap above it. */
#finder>.hero{padding-bottom:20px}
#finder>.hero .intro{margin-bottom:0}
#listings{padding-top:28px}
#listings>.lineup-caption{white-space:nowrap;margin-top:12px;margin-bottom:24px}
@media(max-width:600px){#listings>.lineup-caption{font-size:12px}}
@media(max-width:360px){#listings>.lineup-caption{font-size:11px}}

.properties-logo{display:block;width:76px;height:auto;flex-shrink:0;border-radius:5px}@media(max-width:600px){.properties-logo{width:52px}.topbar .brand{font-size:20px}}

.properties-logo-mark{display:block;width:76px;aspect-ratio:387/216;overflow:hidden;flex-shrink:0;border-radius:5px}.properties-logo-mark .properties-logo{width:100%;height:auto;border-radius:0}@media(max-width:600px){.properties-logo-mark{width:52px}}
.properties-logo-mark{width:112px;aspect-ratio:auto;overflow:visible;border-radius:0}
.properties-logo-mark .properties-logo{width:100%;height:auto;background:transparent}
@media(max-width:600px){.properties-logo-mark{width:76px}.topbar .brand{font-size:16px;min-width:0;gap:8px}.topbar .brand-name{min-width:0}.topbar nav{flex-shrink:0}}

footer .brand{min-width:0}footer .properties-logo-mark{width:90px}@media(max-width:600px){footer .properties-logo-mark{width:70px}footer .brand{font-size:20px;gap:8px}}

.properties-footer-link{font-weight:700;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}

.card-art.has-logo{background:#000;padding:8px 14px;gap:12px}.truck-logo{display:block;width:94px;height:94px;object-fit:contain;flex-shrink:0}.card-art.has-logo .badge{flex-shrink:0}

.owner-brand{display:flex;align-items:center;gap:22px;padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--line)}.owner-logo{width:120px;height:120px;object-fit:contain;background:#000;border-radius:12px;flex-shrink:0}.owner-greeting h2{margin:0 0 8px}.owner-greeting p{margin:0}@media(max-width:600px){.owner-brand{flex-direction:column;text-align:center;gap:14px}.owner-logo{width:140px;height:140px}}
