/* Mystery Shoppers page — matches Hibachio's black, white, warm paper and red visual system. */
.mystery-page { background: var(--paper); }
.mystery-hero { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr); align-items:center; gap:clamp(20px,4vw,56px); min-height:430px; background:#fff; padding:20px clamp(24px,4vw,64px); }
.mystery-hero-copy { align-self:center; padding:clamp(28px,4vw,58px) 0; }
.mystery-hero .eyebrow, .mystery-guidance .eyebrow, .mystery-apply-banner .eyebrow { color:var(--red); }
.mystery-hero h1 { max-width:780px; margin:0 0 20px; font-size:clamp(42px,5vw,66px); line-height:.99; letter-spacing:-.055em; }
.mystery-hero h1 em, .mystery-section-heading h2 em, .mystery-visit-copy h2 em, .mystery-guidance h2 em, .mystery-apply-banner h2 em { color:var(--red); font-style:normal; }
.mystery-lede { max-width:610px; color:#5d5954; font-size:16px; line-height:1.8; }
.mystery-hero-actions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-top:26px; }
.mystery-hero-actions .button, .mystery-apply-actions .button { min-height:48px; }
.mystery-text-link, .mystery-contact-link { font-size:13px; font-weight:750; }
.mystery-text-link:hover, .mystery-contact-link:hover { color:var(--red); }
.mystery-small-note { margin-top:18px; color:var(--muted); font-size:11px; }
.mystery-hero-collage { display:grid; grid-template-columns:1.15fr .85fr; grid-template-rows:repeat(2,minmax(100px,155px)); gap:10px; max-width:470px; width:100%; justify-self:center; padding:12px; background:#f2eee8; border:1px solid #e4ddd3; }
.mystery-hero-collage img { display:block; width:100%; height:100%; object-fit:cover; min-width:0; }
.mystery-collage-main { grid-row:1 / span 2; }
.mystery-collage-sushi, .mystery-collage-chicken { min-height:0; }
.mystery-reward-row { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:center; gap:28px clamp(28px,5vw,64px); max-width:none; margin:0; padding:clamp(38px,5.5vw,68px) max(24px,calc((100vw - var(--max))/2)); background:#171717; color:#fff; }
.mystery-reward-intro .eyebrow { margin:0 0 16px; color:#ff777b; font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.mystery-reward-intro h2 { margin:0 0 15px; color:#fff; font-size:clamp(38px,4.7vw,60px); line-height:.98; letter-spacing:-.055em; }
.mystery-reward-intro h2 em { color:#ff777b; font-style:normal; }
.mystery-reward-intro > p:last-child { max-width:440px; margin:0; color:#d0cbc5; font-size:15px; line-height:1.75; }
.mystery-reward-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.mystery-reward-card { min-width:0; padding:clamp(20px,2.5vw,30px); background:#292929; border:1px solid #454545; border-radius:8px; }
.mystery-reward-card-featured { background:#302324; border:1px solid #8c3d40; box-shadow:inset 0 3px 0 #e15b60; }
.mystery-reward-icon { display:flex; align-items:center; justify-content:center; width:42px; height:42px; margin-bottom:18px; border:1px solid #5a4b4b; border-radius:50%; color:#ff8588; font-size:23px; font-weight:700; }
.mystery-reward-amount { display:block; margin:0 0 8px; color:#fff; font-size:clamp(35px,4vw,52px); line-height:1; letter-spacing:-.055em; white-space:nowrap; }
.mystery-reward-card h3 { margin:0 0 10px; color:#fff; font-size:16px; line-height:1.3; }
.mystery-reward-card p { margin:0; color:#d0cbc5; font-size:12px; line-height:1.7; }
.mystery-reward-footnote { grid-column:1 / -1; margin:0; padding-top:17px; border-top:1px solid #444; color:#bcb7b1; font-size:11px; line-height:1.7; }
.mystery-section { padding:clamp(55px,7vw,90px) max(24px,calc((100vw - var(--max))/2)); }
.mystery-section-heading { max-width:700px; margin:0 auto 38px; text-align:center; }
.mystery-section-heading h2, .mystery-visit-copy h2, .mystery-guidance h2, .mystery-apply-banner h2 { margin:0 0 16px; font-size:clamp(36px,4.5vw,58px); line-height:1; letter-spacing:-.05em; }
.mystery-section-heading > p:last-child { max-width:620px; margin:0 auto; color:var(--muted); font-size:14px; line-height:1.85; }
.mystery-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.mystery-step { padding:27px 26px 30px; background:#fff; border:1px solid var(--line); }
.mystery-step-number { display:inline-flex; width:40px; height:40px; align-items:center; justify-content:center; background:var(--ink); color:#fff; font-size:12px; font-weight:800; }
.mystery-step h3, .mystery-visit-option h3, .mystery-guidance-list h3 { margin:20px 0 8px; font-size:20px; letter-spacing:-.03em; }
.mystery-step p, .mystery-visit-option p, .mystery-guidance-list p { margin:0; color:var(--muted); font-size:13px; line-height:1.8; }
.mystery-visit-section { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(30px,7vw,90px); align-items:center; padding:clamp(48px,7vw,82px) max(24px,calc((100vw - var(--max))/2)); background:#171717; color:#fff; }
.mystery-visit-copy .eyebrow { color:#ff777b; }
.mystery-visit-copy h2 em, .mystery-guidance h2 em { color:#ff777b; }
.mystery-visit-copy > p:last-child { max-width:440px; color:#c7c3bd; font-size:14px; line-height:1.85; }
.mystery-visit-options { display:grid; gap:14px; }
.mystery-visit-option { display:grid; grid-template-columns:48px 1fr; gap:17px; padding:22px; border:1px solid #424242; background:#202020; }
.mystery-option-icon { display:flex; width:42px; height:42px; align-items:center; justify-content:center; border:1px solid #575757; color:#ff777b; font-size:11px; font-weight:800; }
.mystery-visit-option h3 { margin:0 0 6px; }
.mystery-visit-option p { color:#c7c3bd; }
.mystery-eligibility-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 28px; max-width:940px; margin:0 auto; }
.mystery-eligibility-item { display:grid; grid-template-columns:24px 1fr; gap:12px; align-items:start; padding:18px 0; border-bottom:1px solid var(--line); }
.mystery-eligibility-item > span { display:flex; width:22px; height:22px; align-items:center; justify-content:center; color:var(--red); background:#fff; border:1px solid var(--line); font-size:13px; font-weight:800; }
.mystery-eligibility-item p { margin:0; font-size:13px; line-height:1.7; }
.mystery-guidance { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(32px,7vw,90px); padding:clamp(50px,7vw,82px) max(24px,calc((100vw - var(--max))/2)); background:#eeeae3; }
.mystery-guidance-heading { align-self:start; position:sticky; top:130px; }
.mystery-guidance-list article { padding:0 0 21px; margin-bottom:21px; border-bottom:1px solid #d7d0c6; }
.mystery-guidance-list article:last-child { padding-bottom:0; margin-bottom:0; border-bottom:0; }
.mystery-guidance-list h3 { margin:0 0 7px; }
.mystery-apply-banner { display:flex; align-items:center; justify-content:space-between; gap:34px; padding:clamp(42px,6vw,72px) max(24px,calc((100vw - var(--max))/2)); background:#fff; }
.mystery-apply-banner > div:first-child { max-width:700px; }
.mystery-apply-banner > div:first-child > p:last-child { max-width:570px; color:var(--muted); font-size:14px; line-height:1.8; }
.mystery-apply-actions { display:flex; min-width:220px; flex-direction:column; align-items:flex-start; gap:17px; }
.mystery-apply-actions .button { white-space:nowrap; }
.mystery-apply-actions .mystery-contact-link { color:var(--ink); }
.mystery-apply-actions .mystery-contact-link:hover { color:var(--red); }
.mystery-page .site-footer { margin-top:0; }
@media(max-width:850px) {
 .mystery-hero { grid-template-columns:1fr; gap:8px; padding:0 22px 30px; }
 .mystery-hero-copy { padding:38px 4px 18px; }
 .mystery-hero-collage { grid-row:1; width:min(100%,430px); grid-template-rows:repeat(2,minmax(80px,125px)); margin-top:20px; }
 .mystery-reward-row { grid-template-columns:1fr; gap:24px; padding:38px 24px; }
 .mystery-reward-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .mystery-reward-amount { font-size:clamp(34px,7vw,46px); }
 .mystery-reward-footnote { margin-top:0; }
 .mystery-steps { grid-template-columns:1fr; }
 .mystery-step { padding:24px; }
 .mystery-visit-section, .mystery-guidance { grid-template-columns:1fr; }
 .mystery-guidance-heading { position:static; }
 .mystery-apply-banner { align-items:flex-start; flex-direction:column; padding:48px 24px; }
 .mystery-apply-actions { width:100%; }
 .mystery-apply-actions .button { width:100%; justify-content:center; }
}
@media(max-width:560px) {
 .mystery-hero { padding:0 20px 26px; }
 .mystery-hero h1 { font-size:clamp(40px,10.5vw,56px); }
 .mystery-hero-collage { grid-template-rows:repeat(2,minmax(72px,100px)); gap:7px; padding:8px; }
 .mystery-hero-actions { align-items:flex-start; flex-direction:column; gap:16px; }
 .mystery-hero-actions .button { width:100%; justify-content:center; text-align:center; }
 .mystery-section { padding:48px 20px; }
 .mystery-eligibility-grid { grid-template-columns:1fr; }
 .mystery-visit-section { padding:48px 20px; }
 .mystery-guidance { padding:48px 20px; }
 .mystery-apply-banner { padding:48px 20px; }
 .mystery-apply-banner h2 { font-size:clamp(35px,9vw,48px); }
}

/* Compact "studio" layout: readable supporting text, less vertical real estate. */
.mystery-page { font-size:15px; }
.mystery-page .eyebrow,
.mystery-page .mystery-small-note,
.mystery-page .mystery-text-link,
.mystery-page .mystery-contact-link,
.mystery-page .mystery-reward-intro .eyebrow,
.mystery-page .mystery-reward-footnote { font-size:14px; letter-spacing:normal; }
.mystery-page .mystery-hero { min-height:0; gap:clamp(18px,3vw,36px); padding:12px max(24px,calc((100vw - var(--max))/2)); }
.mystery-page .mystery-hero-copy { padding:24px 0; }
.mystery-page .mystery-hero h1 { margin-bottom:12px; }
.mystery-page .mystery-lede { margin-bottom:0; font-size:15px; line-height:1.55; }
.mystery-page .mystery-hero-actions { gap:16px; margin-top:16px; }
.mystery-page .mystery-hero-actions .button,
.mystery-page .mystery-apply-actions .button { min-height:44px; font-size:14px; }
.mystery-page .mystery-small-note { margin-top:10px; line-height:1.45; }
.mystery-page .mystery-hero-collage { max-width:370px; grid-template-rows:repeat(2,minmax(78px,112px)); gap:7px; padding:8px; }
.mystery-page .mystery-reward-row { gap:18px 28px; padding:30px max(24px,calc((100vw - var(--max))/2)); }
.mystery-page .mystery-reward-intro .eyebrow { margin-bottom:10px; }
.mystery-page .mystery-reward-intro h2 { margin-bottom:10px; }
.mystery-page .mystery-reward-intro > p:last-child { font-size:15px; line-height:1.5; }
.mystery-page .mystery-reward-cards { gap:10px; }
.mystery-page .mystery-reward-card { padding:18px; border-radius:5px; }
.mystery-page .mystery-reward-icon { width:32px; height:32px; margin-bottom:10px; font-size:20px; }
.mystery-page .mystery-reward-card h3 { margin-bottom:6px; font-size:15px; line-height:1.3; }
.mystery-page .mystery-reward-card p { font-size:15px; line-height:1.45; }
.mystery-page .mystery-reward-footnote { padding-top:10px; line-height:1.45; }
.mystery-page .mystery-section { padding:32px max(24px,calc((100vw - var(--max))/2)); }
.mystery-page .mystery-section-heading { margin-bottom:18px; }
.mystery-page .mystery-section-heading .eyebrow { margin-bottom:8px; }
.mystery-page .mystery-section-heading h2 { margin-bottom:0; }
.mystery-page .mystery-steps { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.mystery-page .mystery-step { display:flex; align-items:flex-start; gap:12px; padding:16px; }
.mystery-page .mystery-step-number { width:30px; height:30px; flex:0 0 auto; font-size:14px; }
.mystery-page .mystery-step h3 { margin:2px 0 6px; font-size:18px; }
.mystery-page .mystery-step p { font-size:15px; line-height:1.5; }
.mystery-page .mystery-eligibility-grid { gap:0 22px; }
.mystery-page .mystery-eligibility-item { grid-template-columns:22px 1fr; gap:10px; padding:10px 0; }
.mystery-page .mystery-eligibility-item > span { width:22px; height:22px; font-size:14px; }
.mystery-page .mystery-eligibility-item p { font-size:15px; line-height:1.45; }
.mystery-page .mystery-apply-banner { gap:22px; padding:30px max(24px,calc((100vw - var(--max))/2)); }
.mystery-page .mystery-apply-banner .eyebrow { margin-bottom:8px; }
.mystery-page .mystery-apply-banner h2 { margin-bottom:10px; }
.mystery-page .mystery-apply-banner > div:first-child > p:last-child { margin-bottom:0; font-size:15px; line-height:1.5; }
.mystery-page .mystery-apply-actions { gap:10px; }
.mystery-page .site-footer { padding-top:28px; padding-bottom:22px; }
.mystery-page .footer-links { gap:14px 22px; margin-bottom:18px; font-size:14px; }
.mystery-page .site-footer small { font-size:14px; }
@media(max-width:850px) {
 .mystery-page .mystery-hero { grid-template-columns:1fr; gap:6px; padding:0 22px 20px; }
 .mystery-page .mystery-hero-copy { padding:22px 0 10px; }
 .mystery-page .mystery-hero-collage { grid-row:1; width:min(100%,370px); margin-top:12px; }
 .mystery-page .mystery-reward-row { grid-template-columns:1fr; gap:18px; padding:28px 22px; }
 .mystery-page .mystery-steps { grid-template-columns:1fr; }
 .mystery-page .mystery-step { padding:14px; }
 .mystery-page .mystery-section { padding:28px 22px; }
 .mystery-page .mystery-apply-banner { padding:28px 22px; }
}
@media(max-width:560px) {
 .mystery-page .mystery-hero { padding:0 18px 20px; }
 .mystery-page .mystery-hero h1 { font-size:clamp(38px,10vw,50px); }
 .mystery-page .mystery-hero-collage { grid-template-rows:repeat(2,minmax(65px,90px)); max-width:100%; }
 .mystery-page .mystery-reward-row { padding:24px 18px; }
 .mystery-page .mystery-reward-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 .mystery-page .mystery-reward-card { padding:13px 11px; }
 .mystery-page .mystery-reward-amount { font-size:clamp(30px,8vw,40px); white-space:normal; }
 .mystery-page .mystery-reward-card h3 { font-size:15px; }
 .mystery-page .mystery-reward-card p { font-size:14px; }
 .mystery-page .mystery-section { padding:26px 18px; }
 .mystery-page .mystery-eligibility-grid { grid-template-columns:1fr; }
 .mystery-page .mystery-apply-banner { padding:26px 18px; }
 .mystery-page .mystery-apply-banner h2 { font-size:clamp(34px,9vw,44px); }
 .mystery-page .mystery-apply-actions { min-width:0; }
}