body{background:#fbfcf9}.intro{padding:48px 7vw 54px;grid-template-columns:1.1fr 1fr;gap:26px 50px;align-items:center;background:linear-gradient(115deg,#eff8f3,#fffaf0)}
.intro h1{font-size:clamp(44px,5.8vw,78px);line-height:1.03}.intro h1 em{white-space:normal}.intro .eyebrow{max-width:340px;line-height:1.8}.intro-copy{font-size:16px;max-width:460px}
.hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:24px}.hero-actions .button{display:inline-block}.hero-community{background:none;border:0;padding:10px 0;color:var(--green);font-weight:700;font-size:13px}
.food-feature{position:relative;margin:0;min-width:0}.food-feature>img{width:100%;height:310px;object-fit:cover;border-radius:100px 24px 24px 24px;display:block;background:#e5eee8}.food-caption{position:absolute;left:0;right:0;bottom:35px;padding:45px 25px 20px;color:white;background:linear-gradient(transparent,rgba(8,30,26,.85));border-radius:0 0 24px 24px}.food-caption span{font-size:9px;letter-spacing:.18em}.food-caption strong{display:block;font:700 25px/1.2 Manrope,sans-serif;margin-top:9px}.food-feature figcaption{font-size:9px;line-height:1.5;color:var(--muted);min-height:35px;padding-top:8px}.food-feature figcaption a{text-decoration:underline}
.editorial-trust{grid-column:1/-1;width:100%;max-width:none;justify-self:stretch;padding:16px 20px;background:#fff;border-radius:14px;align-items:center}.editorial-trust span{margin-top:3px}.editorial-trust strong{font-size:13px}.editorial-trust .trust-icon{background:#ddf3f0;color:var(--green)}
.stats{border-radius:14px}.stats strong{font-size:25px}.stats div{padding:19px 25px}.directory-heading{margin-top:48px;scroll-margin-top:110px}.directory-heading h2{font-size:40px}
.category-shortcuts{display:flex;gap:10px;overflow-x:auto;padding:3px 2px 14px;margin-bottom:10px}.category-tile{display:flex;align-items:center;gap:9px;flex-shrink:0;padding:12px 15px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-size:12px;font-weight:700}.category-tile span{font-size:20px}.category-tile[aria-pressed=true]{background:#ddf3f0;border-color:#247d77;color:#195e59}.category-tile:hover{border-color:#43b3aa}
.restaurant-grid{gap:18px}.restaurant-card{position:relative;border-radius:18px;padding:22px;border-color:#e1e9e3;box-shadow:0 4px 14px #153d3b05;display:flex;flex-direction:column;overflow:hidden}.restaurant-card:before{content:'';position:absolute;inset:0 0 auto;height:4px;background:#b7ded8}.restaurant-card:nth-child(3n+2):before{background:#e8d7b7}.restaurant-card:nth-child(3n):before{background:#c9d4ed}.card-top{flex-wrap:wrap;gap:10px}.card-top .status-pill{white-space:normal;line-height:1.4;letter-spacing:0}.restaurant-card h3{font-size:22px;margin-top:18px}.restaurant-card p{margin-bottom:18px}.card-meta{margin-top:auto;width:100%}.restaurant-initial{width:42px;height:42px;display:grid;place-items:center;margin-bottom:17px;border-radius:12px;background:#eff6f2;color:#247d77;font:800 16px Manrope,sans-serif}.restaurant-card:nth-child(3n+2) .restaurant-initial{background:#faf3e7;color:#876d41}.restaurant-card:nth-child(3n) .restaurant-initial{background:#eef1f8;color:#52678d}
.directory-empty{text-align:center;padding:40px;background:#f0f7f3;border-radius:18px}.directory-empty p{color:var(--muted)}.contribute-invite{background:#153d3b;color:white}.contribute-invite .section-kicker{color:#83d5ca}.invite-copy>p:last-child,.invite-action p{color:#c5dfda}.invite-action .button{background:#b8eee4;color:#153d3b}.method{background:#eef6f1}
.button,.category-tile{transition:background .2s,transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}
@media(max-width:900px){.intro{grid-template-columns:1fr 1fr;gap:22px}.intro h1{font-size:48px}.food-feature>img{height:300px}.hero-actions{gap:6px}.category-shortcuts{margin-right:-10px}}
@media(max-width:640px){.intro{grid-template-columns:1fr;padding:35px 22px 48px;gap:24px}.intro h1{font-size:49px}.food-feature>img{height:230px;border-radius:65px 20px 20px 20px}.food-caption strong{font-size:23px}.food-caption{border-radius:0 0 20px 20px}.editorial-trust{grid-column:auto}.directory-heading h2{font-size:33px}.stats div{padding:18px}.category-tile{padding:10px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.button:hover,.restaurant-card:hover{transform:none}}
/* GenHalal turquoise hero, with dark text for readable contrast. */
.intro{background:linear-gradient(115deg,#eff8f3,#fffaf0)}
.intro .eyebrow,.intro h1,.intro h1 em,.intro .hero-community{color:#123f3b}
.intro .intro-copy{color:#214f49}
.intro .hero-actions .button-dark{background:#153d3b;color:#fff}
.intro .hero-actions .button-dark:hover{background:#0c2c29}
/* Text-led hero after removing the illustrative food photo. */
.intro{grid-template-columns:1fr;gap:28px;padding-top:55px;padding-bottom:54px}
.intro>div:first-child{max-width:820px}
.intro .intro-copy{max-width:600px}
.intro .editorial-trust{grid-column:1;max-width:820px;justify-self:start}
@media(max-width:640px){.intro{padding:36px 22px 48px;gap:24px}}
.directory-tabs{display:flex;gap:6px;padding:5px;background:#e0ede7;border-radius:999px;width:fit-content;max-width:100%}.directory-tabs button{border:0;border-radius:999px;padding:12px 22px;background:transparent;color:#345b53;font-weight:700}.directory-tabs button[aria-selected=true]{background:#247d77;color:white;box-shadow:0 3px 12px #153d3b20}
#restaurantPanel[hidden],#locationPanel[hidden]{display:none}
.location-panel{padding-top:1px}.location-panel .controls label{font-size:12px;font-weight:700}.location-panel select{margin-top:8px}.location-search{margin-top:14px}.location-note,#locationSync{font-size:13px;line-height:1.6;color:var(--muted)}.location-note{background:#edf5f0;padding:16px;border-radius:12px}.location-card .status-pill{align-self:flex-start;white-space:normal;margin:8px 0 14px}.location-card small{color:var(--muted)}.location-card .scope-note{font-size:12px}.location-card .button{margin-top:auto}.location-panel .directory-heading{scroll-margin-top:110px}
.location-source a{color:var(--green);text-decoration:underline;text-underline-offset:3px;font-size:12px}
.last-update{display:flex;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:.78rem;color:var(--muted)}
.last-update strong{color:var(--ink);font-weight:700}
.detail-last-update{margin:10px 0 22px;color:var(--muted);font-size:.9rem}
.success-state{padding:64px 50px!important;overflow-x:hidden}
.success-state>.success-icon{width:60px!important;height:60px!important;border-radius:50%!important;display:grid!important;place-items:center!important;margin:0 auto 20px!important;background:var(--green)!important;color:#fff!important;font-size:27px!important}
#trackingReceipt{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px;width:min(660px,100%)!important;height:auto!important;margin:26px auto 20px!important;background:transparent!important;color:inherit!important;border-radius:0!important;font-size:inherit!important;text-align:left}
#trackingReceipt p{min-width:0;max-width:none;margin:0!important;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--muted)}
#trackingReceipt p:last-child{grid-column:1/-1;padding:0;border:0;background:transparent;text-align:center}
#trackingReceipt code{display:block;margin-top:7px;color:var(--ink);font-size:13px;line-height:1.5;overflow-wrap:anywhere;word-break:break-word}
.receipt-value{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:7px}.receipt-value code{margin-top:0!important;flex:1}.receipt-copy{flex:none;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--green);padding:7px 12px;font-size:11px;font-weight:800}.receipt-copy:hover{border-color:var(--green);background:#eef8f4}
.success-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px}
.success-state>.success-actions{width:auto;height:auto;border-radius:0;margin:0;background:transparent;color:inherit;font-size:inherit}
.success-actions .button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;margin:0}
.success-actions .contribute-again{flex-basis:100%;width:min(360px,100%);margin-top:6px;background:var(--green);color:#fff}
@media(max-width:640px){.success-state{padding:52px 20px 28px!important}#trackingReceipt{grid-template-columns:1fr}.success-actions{flex-direction:column}.success-actions .button{width:100%}}
.contribution-intro{padding:48px 54px 42px}.contribution-intro h2{font-size:clamp(34px,5vw,52px);letter-spacing:-.05em;margin:8px 0 24px}.contribution-intro>p{color:var(--muted);line-height:1.65;margin:12px 0}.contribution-guidance{margin:25px 0 16px;padding:20px 22px;border-radius:16px;background:#fff6df;border:1px solid #efd9a6}.contribution-guidance h3{font-size:16px;margin:0 0 10px}.contribution-guidance ol,.contribution-guidance ul{padding-left:22px;margin:9px 0}.contribution-guidance li{margin:8px 0;line-height:1.5;font-size:13px}.question-template{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;border:1px solid var(--line);border-radius:13px;color:var(--ink);font-size:13px}.question-template strong{color:var(--green);white-space:nowrap}.intro-start{width:100%;margin-top:22px;padding:15px 22px}@media(max-width:640px){.contribution-intro{padding:42px 20px 28px}.question-template{align-items:flex-start;flex-direction:column;gap:5px}}
.guide-carousel{margin:25px 0 16px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#f8faf8}.guide-carousel-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}.guide-carousel-head p{margin:0 0 5px}.guide-carousel-head h3{font-size:18px}.guide-carousel-head>span{font-size:12px;font-weight:700;color:var(--muted)}.guide-frame{width:min(520px,100%);margin:auto;overflow:hidden;border-radius:14px;background:#e8ece9;aspect-ratio:1}.guide-frame img{display:block;width:100%;height:100%;object-fit:contain}.guide-controls{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-top:14px}.guide-controls .button{padding:9px 14px;font-size:12px}.guide-dots{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.guide-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#c5d1cc}.guide-dots button.active{width:22px;border-radius:999px;background:var(--green)}@media(max-width:640px){.guide-carousel{padding:12px}.guide-controls{grid-template-columns:1fr 1fr}.guide-dots{grid-column:1/-1;grid-row:2}.guide-controls .button{width:100%}}
.contribution-access{padding:70px 54px 50px;max-width:720px;margin:auto}.contribution-access h2{font-size:clamp(34px,5vw,50px);letter-spacing:-.05em;margin:8px 0 12px}.contribution-access>p:not(.eyebrow){color:var(--muted);line-height:1.6;margin-bottom:28px}.access-choice{width:100%;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;padding:18px;margin:12px 0;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);text-align:left;text-decoration:none}.access-choice:hover{border-color:var(--green);box-shadow:0 10px 30px rgba(22,96,67,.1)}.guest-choice{background:var(--ink);color:#fff;border-color:var(--ink)}.access-choice-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#e2f1ec;color:var(--green);font-size:21px}.guest-choice .access-choice-icon{background:rgba(255,255,255,.14);color:#fff}.access-choice strong,.access-choice small{display:block}.access-choice small{margin-top:4px;color:var(--muted);font-weight:400;line-height:1.4}.guest-choice small{color:#bdcbc5}.access-choice b{font-size:20px}.back-to-guide{border:0;background:transparent;color:var(--green);font-weight:700;margin-top:16px;padding:8px 0}@media(max-width:640px){.contribution-access{padding:55px 20px 32px}.access-choice{grid-template-columns:42px 1fr auto;padding:15px 13px}}
