:root{--forest:#14211d;--deep:#073b2e;--green:#2f9471;--mint:#69c9aa;--mint-soft:#eef8f4;--bg:#f6faf8;--surface:#fff;--text:#15211d;--muted:#65716c;--line:#dce5e0;--danger:#b42318;--shadow:0 18px 55px rgba(20,33,29,.08);--max:1500px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45}a{color:inherit}button,input,select,textarea{font:inherit}.is-hidden{display:none!important}
.topbar{height:84px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.topbar-inner{height:100%;max-width:var(--max);margin:auto;padding:0 36px;display:flex;align-items:center;justify-content:space-between}.logo{display:block;width:188px;height:auto;max-height:56px;object-fit:contain}.faq-link{text-decoration:none;font-weight:800;color:var(--deep);padding:12px 4px}.faq-link:hover{text-decoration:underline;text-underline-offset:5px}
.registration-layout{max-width:var(--max);margin:auto;display:grid;grid-template-columns:330px minmax(0,1fr);min-height:1100px;background:#fff;box-shadow:0 1px 0 rgba(20,33,29,.04)}
.sidebar{position:relative;background:linear-gradient(180deg,#f3faf7 0%,#f9fcfa 72%,#edf7f2 100%);border-right:1px solid var(--line);overflow:hidden}.sidebar-inner{position:relative;z-index:2;padding:48px 34px 300px}.restaurant-symbol{width:70px;height:70px;border:1px solid #d9e6df;background:#fff;border-radius:50%;display:grid;place-items:center;box-shadow:0 8px 22px rgba(20,33,29,.06);margin-bottom:24px}.restaurant-symbol svg{width:42px;stroke:var(--deep);stroke-width:2.5;fill:none;stroke-linejoin:round;stroke-linecap:round}.sidebar h1{font-size:38px;line-height:1.08;letter-spacing:-.04em;margin:0 0 20px;color:#0b4434}.sidebar-lead{font-size:16px;color:#485851;margin:0 0 32px}.benefit-list{border-top:1px solid #cadbd2;padding-top:24px;display:grid;gap:24px}.benefit{display:grid;grid-template-columns:50px 1fr;gap:14px;align-items:start}.benefit-icon{width:44px;height:44px;border:1.5px solid var(--mint);border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:19px;color:var(--deep);background:#fff}.benefit strong{display:block;color:#0e4e3d;font-size:15px;margin:3px 0 4px}.benefit p{margin:0;color:#50615a;font-size:13px}.launch-card,.help-card{border:1px solid #cbded4;border-radius:14px;background:rgba(255,255,255,.82);padding:19px;margin-top:30px;box-shadow:0 8px 24px rgba(20,33,29,.04)}.launch-card>strong{font-size:14px;color:#164c3d}.town{display:flex;gap:10px;align-items:start;margin-top:15px}.town>span{color:#079760;font-size:20px;line-height:1}.town b,.town small{display:block}.town b{font-size:13px}.town small{font-size:12px;color:#66746e}.help-card{display:grid;grid-template-columns:44px 1fr;gap:12px;background:#e9f6ef}.help-icon{width:42px;height:42px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--green);font-weight:900;font-size:22px}.help-card strong{color:#0b4434}.help-card p{font-size:13px;margin:4px 0 8px;color:#4e5f57}.help-card a{color:#0d7757;font-weight:750;font-size:13px}.town-art{position:absolute;left:0;right:0;bottom:0;height:280px;opacity:.92}.town-art svg{width:100%;height:100%}.sky{fill:#f5faf7}.mountain.back{fill:#dcefe5}.mountain.mid{fill:#b7ddca}.ground{fill:#80bd9d}.village{fill:#f9f3e7;stroke:#6a9882;stroke-width:2}.trees circle{fill:#478f69}.trees rect{fill:#315f49}
.form-area{background:linear-gradient(180deg,#fbfdfc 0,#fff 38%);padding:28px 40px 70px}.form-card{max-width:1050px;margin:0 auto;background:#fff;border:1px solid #e0e7e3;border-radius:24px;box-shadow:var(--shadow);padding:30px 42px 34px}.stepper{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr auto;align-items:start;margin:0 0 36px}.stepper i{height:2px;background:#d9e2dd;margin-top:17px}.step{appearance:none;border:0;background:transparent;padding:0;display:flex;flex-direction:column;align-items:center;gap:8px;color:#65736c;cursor:pointer;min-width:72px}.step span{width:36px;height:36px;border:1px solid #cdd8d2;border-radius:50%;display:grid;place-items:center;background:#fff;font-weight:700}.step small{font-size:11px;line-height:1.2;text-align:center;max-width:72px}.step.is-active,.step.is-complete{color:#0d664b;font-weight:800}.step.is-active span{background:#0d6b4e;color:white;border-color:#0d6b4e}.step.is-complete span{background:#e2f5eb;border-color:#7bc6a5}.step-copy{margin-bottom:28px}.step-copy h2{font-size:32px;letter-spacing:-.03em;color:#0b4434;margin:0 0 6px}.step-copy p{margin:0;color:var(--muted);font-size:15px}
.form-step{display:none}.form-step.is-active{display:block}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 26px}.field-grid .full{grid-column:1/-1}label{display:block;font-size:13px;font-weight:750;color:#24342d}label em,legend em{font-style:normal;color:var(--danger)}.optional{font-size:11px;color:#7b8882;font-weight:600;margin-left:4px}input,select,textarea{width:100%;border:1px solid #cfd9d4;background:#fff;color:var(--text);border-radius:9px;padding:13px 14px;margin-top:7px;outline:none;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:#4bb18c;box-shadow:0 0 0 3px rgba(105,201,170,.16)}input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:#e57373}.counter{display:block;text-align:right;color:#7e8a84;font-size:11px;margin-top:3px}.consent-line{display:flex;align-items:flex-start;gap:10px;margin-top:20px;font-weight:600;color:#506058}.consent-line input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--green)}.choice-block{border:0;padding:0;margin:0 0 26px}.choice-block legend{font-weight:850;color:#123e32;margin-bottom:2px}.choice-block>p{font-size:12px;color:#718078;margin:0 0 12px}.chip-grid,.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.chip-grid label,.feature-grid label{position:relative}.chip-grid input,.feature-grid input{position:absolute;opacity:0;pointer-events:none}.chip-grid span,.feature-grid span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px;border:1px solid #d6dfda;border-radius:9px;background:#fff;color:#3d4b45;font-size:12px;text-align:center;cursor:pointer}.chip-grid input:checked+span,.feature-grid input:checked+span{border-color:#43a77f;background:#ebf8f2;color:#0b5c42;box-shadow:inset 0 0 0 1px #43a77f}.feature-grid{grid-template-columns:repeat(3,1fr);margin-bottom:20px}.feature-grid span{min-height:58px}.helper-note{font-size:13px;color:#6b7872;background:#f4f8f6;padding:14px 16px;border-radius:10px}.hours-list{display:grid;gap:10px}.hours-row{display:grid;grid-template-columns:120px 90px 1fr 1fr;align-items:center;gap:12px;border-bottom:1px solid #edf1ef;padding:12px 0}.hours-row strong{font-size:14px}.hours-row label{display:flex;gap:7px;align-items:center;font-size:12px;font-weight:650}.hours-row label input{width:16px;height:16px;margin:0;accent-color:var(--green)}.hours-row input[type=time]{margin:0}.menu-toggle-row,.premium-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px}.radio-card,.premium-choice{position:relative}.radio-card input,.premium-choice input{position:absolute;opacity:0;pointer-events:none}.radio-card span,.premium-choice span{display:block;border:1px solid #d8e1dc;border-radius:13px;padding:17px;cursor:pointer;min-height:90px}.radio-card input:checked+span,.premium-choice input:checked+span{border-color:#43a77f;background:#edf9f3;box-shadow:inset 0 0 0 1px #43a77f}.radio-card b,.radio-card small,.premium-choice b,.premium-choice small{display:block}.radio-card small,.premium-choice small{font-weight:500;color:#66746d;margin-top:5px}.menu-item{display:grid;grid-template-columns:1fr 1.4fr .7fr 38px;gap:10px;align-items:end;padding:14px;background:#f7faf8;border:1px solid #e1e8e4;border-radius:12px;margin-bottom:10px}.menu-item button{height:44px;border:0;border-radius:8px;background:#fff;color:#9b332c;cursor:pointer}.secondary-button,.primary-button,.text-button{border:0;border-radius:10px;min-height:48px;padding:0 20px;font-weight:800;cursor:pointer}.secondary-button{background:#fff;border:1px solid #cbd7d1;color:#24342d}.primary-button{background:linear-gradient(135deg,#0b684b,#127c59);color:#fff;min-width:220px;box-shadow:0 8px 18px rgba(16,116,82,.18)}.primary-button span{margin-left:10px}.text-button{background:transparent;color:#54635c}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.upload-card{border:1px dashed #a9c6b8;border-radius:14px;padding:20px;background:#f8fcfa;cursor:pointer;min-height:120px}.upload-card span,.upload-card small{display:block}.upload-card span{font-size:15px;color:#154d3d}.upload-card small{font-weight:500;color:#718078;margin:4px 0 14px}.upload-card input{font-size:12px;margin:0;padding:0;border:0;background:transparent}.premium-choice-grid{grid-template-columns:repeat(3,1fr)}.premium-choice span{min-height:120px}.premium-choice.free span{background:#fbfdfc}.premium-disclosure{background:#f5faf7;border:1px solid #dce9e2;border-radius:14px;padding:20px;margin-top:22px}.premium-disclosure h3{margin:0 0 18px;color:#164c3d}.premium-notice{margin-top:22px;padding:16px 18px;border-radius:12px;background:#fff8e6;border:1px solid #f0d69a;display:grid;gap:4px;font-size:13px}.premium-notice strong{color:#6d4a00}.premium-notice span{color:#6c6148}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.review-card{border:1px solid #dde5e1;border-radius:12px;padding:16px}.review-card small,.review-card strong{display:block}.review-card small{color:#7a8781;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.review-card strong{margin-top:5px;color:#173c31}.final-consents{margin-top:24px;border-top:1px solid #e5ebe8;padding-top:2px}.submission-status{margin-top:18px;font-size:13px}.submission-status.error{color:#a5362f}.submission-status.success{color:#0b7452}.form-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e2e8e5;margin-top:30px;padding-top:24px}.action-right{display:flex;align-items:center;gap:10px}
.premium-strip{max-width:1050px;margin:18px auto 0;border:1px solid #dce8e2;background:linear-gradient(90deg,#f8fbf9,#f2f9f5);border-radius:18px;padding:22px 24px;display:grid;grid-template-columns:220px 1fr;gap:24px}.premium-strip-title{display:flex;gap:12px;align-items:flex-start}.premium-strip-title>span{width:40px;height:40px;border-radius:50%;background:#fff5cf;display:grid;place-items:center;color:#a97b00}.premium-strip-title strong,.premium-strip-title small{display:block}.premium-strip-title strong{color:#134735}.premium-strip-title small{font-size:11px;color:#68756f;margin-top:4px}.premium-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.premium-benefits b,.premium-benefits small{display:block}.premium-benefits b{font-size:12px;color:#214437}.premium-benefits small{font-size:11px;color:#6b7872;margin-top:3px}
.faq-section{background:#f5faf7;border-top:1px solid var(--line);padding:70px 28px}.faq-inner{max-width:900px;margin:auto}.faq-inner h2{font-size:34px;color:#0b4434;margin:0 0 26px}.faq-inner details{background:#fff;border:1px solid #dbe5e0;border-radius:12px;margin-bottom:10px;padding:0 18px}.faq-inner summary{padding:18px 0;font-weight:800;cursor:pointer}.faq-inner details p{margin:0 0 18px;color:#607069}.simple-footer{text-align:center;background:#fff;border-top:1px solid var(--line);padding:34px 20px}.simple-footer img{width:130px;display:block;margin:0 auto 8px}.simple-footer p{margin:0 0 5px;color:#4f5f58;font-size:12px}.simple-footer small{color:#8a9690;font-size:11px}
@media(max-width:1120px){.registration-layout{grid-template-columns:280px 1fr}.sidebar-inner{padding:40px 24px 280px}.sidebar h1{font-size:32px}.form-area{padding:24px}.form-card{padding:28px}.step small{display:none}.step{min-width:36px}.chip-grid{grid-template-columns:repeat(3,1fr)}.premium-strip{grid-template-columns:1fr}.premium-benefits{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.topbar{height:72px}.topbar-inner{padding:0 20px}.logo{width:150px}.registration-layout{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.sidebar-inner{padding:32px 22px}.sidebar h1{font-size:34px;max-width:460px}.town-art{display:none}.benefit-list{grid-template-columns:1fr 1fr}.launch-card,.help-card{max-width:520px}.form-area{padding:18px 12px 44px}.form-card{border-radius:18px;padding:22px 16px}.stepper{overflow-x:auto;display:flex;align-items:flex-start;gap:8px;padding-bottom:8px}.stepper i{min-width:18px;flex:1}.step{min-width:46px}.step small{display:none}.field-grid,.review-grid{grid-template-columns:1fr}.field-grid .full{grid-column:auto}.chip-grid,.feature-grid{grid-template-columns:repeat(2,1fr)}.hours-row{grid-template-columns:1fr auto;gap:8px}.hours-row input[type=time]{grid-column:auto}.hours-row strong{grid-column:1}.hours-row>label{grid-column:2}.menu-toggle-row,.premium-choice-grid{grid-template-columns:1fr}.menu-item{grid-template-columns:1fr 1fr}.menu-item button{grid-column:2}.upload-grid{grid-template-columns:1fr}.form-actions{align-items:stretch;gap:12px;flex-direction:column-reverse}.action-right{display:grid;grid-template-columns:auto 1fr}.primary-button{min-width:0}.secondary-button{width:100%}.premium-benefits{grid-template-columns:1fr 1fr}.premium-strip{padding:20px}.faq-section{padding:54px 18px}}
@media(max-width:520px){.benefit-list{grid-template-columns:1fr}.sidebar-inner{padding:28px 18px}.sidebar h1{font-size:31px}.form-area{padding-left:8px;padding-right:8px}.form-card{padding:18px 14px}.step-copy h2{font-size:27px}.chip-grid,.feature-grid,.premium-benefits{grid-template-columns:1fr}.hours-row{grid-template-columns:1fr 1fr}.hours-row strong{grid-column:1}.hours-row>label{grid-column:2;justify-self:end}.menu-item{grid-template-columns:1fr}.menu-item button{grid-column:1}.action-right{grid-template-columns:1fr}.text-button{order:2}.primary-button{width:100%}}
/* Public intake: make private contact use explicit without hiding form requirements. */
.privacy-notice{margin:-10px 0 24px;padding:16px 18px;border:1px solid #c8e4d5;border-radius:12px;background:#f0faf5;color:#254a3b}
.privacy-notice strong{display:block;font-size:14px;color:#10543f;margin-bottom:6px}
.privacy-notice p{font-size:13px;line-height:1.6;margin:0}
.privacy-notice b{font-weight:800}
.field-hint{display:block;margin:5px 0 0;font-size:11px;font-weight:500;color:#62776c;line-height:1.45}
.review-privacy-note{margin:16px 0 0;font-size:12px;line-height:1.5;color:#426656}
.category-intro{margin:18px 0 12px;padding:14px 16px;border-radius:12px;background:#f4f9f6;border:1px solid #e0ebe4}
.category-intro p{margin:0;color:#354e42;font-size:13px;line-height:1.55}
.category-intro .category-after-access{margin-top:9px;color:#456b55}
.primary-category-field{display:block;margin-bottom:4px}
.category-main-help{margin:6px 0 0;font-size:12px;color:#60776a;line-height:1.5}
.category-directory{margin:16px 0 24px;border-radius:12px;border:1px solid #dbe6df;background:#fafdfb}
.category-directory summary{padding:15px 17px;cursor:pointer;color:#14573f;font-size:13px;font-weight:800}
.category-directory summary:hover{color:#0b774f}
.category-directory summary:focus-visible{outline:3px solid #8ed2b1;outline-offset:3px}
.category-directory[open] summary{border-bottom:1px solid #dbe6df}
.category-directory-body{padding:17px}
.category-directory-body label{max-width:100%;font-size:13px}
.category-directory-body input{margin-top:6px}
.category-directory-explanation,.category-count{font-size:12px;color:#577268;line-height:1.5;margin:12px 0}
.category-count{font-weight:700}
.category-result-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:9px;max-height:340px;overflow-y:auto;overscroll-behavior:contain;padding:2px}
.category-result{appearance:none;display:grid;gap:5px;text-align:left;padding:12px 13px;border-radius:9px;border:1px solid #d8e7de;background:#fff;color:#1b4d39;cursor:pointer;font:inherit}
.category-result strong{font-weight:750;font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.category-result small{color:#63766c;font-size:11px;line-height:1.4}
.category-result:hover{border-color:#51af83;background:#f1faf5}
.category-result:focus-visible{outline:3px solid #94d6b6;outline-offset:2px}
.category-no-results{font-size:13px;color:#65716c;grid-column:1/-1}
.category-selection-note:not(:empty){padding:11px 13px;margin:13px 0 0;background:#e7f6ec;color:#125337;border-radius:9px;font-size:12px;line-height:1.55}
@media(max-width:700px){.category-result-list{grid-template-columns:1fr;max-height:300px}.category-directory-body{padding:13px}.privacy-notice{padding:14px 15px}}

/* Restaurant Premium checkout: information before submit, optional payment only after success. */
.premium-intake-preview{margin:20px 0 10px;padding:17px 19px;border:1px solid #d3e4d9;border-radius:14px;background:#f3f9f5}
.premium-intake-preview h3{margin:0 0 7px;color:#154f3b;font-size:17px}
.premium-intake-preview p{margin:0 0 9px;color:#385247;font-size:13px;line-height:1.6}
.premium-intake-preview .premium-intake-warning{margin-bottom:0;color:#657167;font-size:12px}
.premium-success-offer{margin:22px 0 0;padding:23px;border:1px solid #c6e4d3;border-radius:16px;background:linear-gradient(145deg,#edf9f1,#fbfffc)}
.premium-success-offer h3{font-size:21px;color:#11513b;margin:0 0 11px}
.premium-success-offer>p{font-size:13px;line-height:1.65;color:#3c5549;margin:0 0 15px}
.premium-pay-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:49px;padding:12px 18px;border-radius:10px;background:#0b684b;color:#fff!important;font-weight:800;text-decoration:none;text-align:center;box-shadow:0 6px 15px rgba(13,103,74,.15)}
.premium-pay-button:hover{background:#09583f}
.premium-pay-button:focus-visible{outline:3px solid #9bd9b6;outline-offset:3px}
.premium-success-offer .premium-payment-instructions{margin:17px 0 11px}
.premium-success-offer .premium-approval-note{margin:0;padding:12px 13px;border-radius:10px;border:1px solid #efdeb6;background:#fff9ea;color:#67562e;font-size:12px}
.premium-approval-note a{color:#175c45;font-weight:800;overflow-wrap:anywhere}
@media(max-width:520px){.premium-intake-preview{padding:15px}.premium-success-offer{padding:17px}.premium-pay-button{width:100%;font-size:13px}}
