@font-face{font-family:'ChopShop Currency';src:url('assets/fonts/cedi-symbol.woff') format('woff');font-weight:600 700;font-style:normal;font-display:swap;unicode-range:U+20B5}
@font-face{font-family:'Myriad Variable Concept';src:url('assets/fonts/myriad-variable.woff') format('woff');font-weight:300 900;font-stretch:70% 110%;font-style:normal;font-display:swap}
@font-face{font-family:'Myriad Variable Concept';src:url('assets/fonts/myriad-variable-italic.woff') format('woff');font-weight:300 900;font-stretch:70% 110%;font-style:italic;font-display:swap}
:root{--red:#9a1815;--black:#111;--muted:#65615d;--soft:#f7f4ef;--line:#e2dcd3;--font:'ChopShop Currency','Myriad Variable Concept','Myriad Pro',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:white;color:var(--black);font-family:var(--font);font-weight:600;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%;object-fit:cover}p{line-height:1.65;margin:0 0 21px}h1,h2,h3,h4{font-weight:700;letter-spacing:-.045em;margin:0;line-height:1.04}h2{font-size:clamp(40px,4.6vw,68px)}h3{font-size:25px}h4{font-size:20px}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #d2893b;outline-offset:5px}.red{color:var(--red)}.section{padding:86px var(--gutter)}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:700;margin-bottom:23px;line-height:1.5}.dot{display:inline-block;background:var(--red);height:7px;width:7px;border-radius:50%;margin-right:9px;flex:none}.button{display:inline-flex;align-items:center;justify-content:center;padding:17px 25px;border:1px solid var(--red);background:var(--red);color:white;line-height:1.2;font-size:13px;font-weight:700;border-radius:4px;transition:background .2s,transform .2s}.button:hover{background:#7c100e;transform:translateY(-2px)}.button.small{font-size:12px;padding:14px 18px}.button.light{background:white;border-color:white;color:var(--red)}.button.light:hover{background:#f2e9df}.button.outline{background:transparent;border-color:#ffffff70;color:white}.button.outline:hover{background:#ffffff15}.text-link{display:inline-block;font-size:13px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:6px}.text-link:hover{color:var(--red)}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px}.skip{position:fixed;z-index:99;top:-100px;left:16px;background:white;padding:16px;color:var(--red)}.skip:focus{top:15px}.utility{background:var(--red);color:white;display:flex;justify-content:space-between;align-items:center;padding:10px var(--frame);font-size:11px;letter-spacing:.01em}.utility b{margin-left:10px}.utility a:hover{text-decoration:underline}.header{display:flex;align-items:center;justify-content:space-between;padding:17px var(--frame);border-bottom:1px solid #eee;background:#fffffff5;position:sticky;top:0;z-index:20;backdrop-filter:blur(15px)}.brand img{width:155px;height:auto}.header nav{display:flex;align-items:center;gap:28px;font-size:13px}.header nav>a:not(.button){padding:10px 0}.header nav>a.active,.header nav>a:hover:not(.button){color:var(--red)}.nav-toggle{display:none}
.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:670px;background:#111;color:white;position:relative;overflow:hidden;isolation:isolate}.hero-copy{position:relative;z-index:2;align-self:center;padding:58px 3vw 52px var(--gutter)}.hero-copy h1{font-size:clamp(65px,7.25vw,108px);line-height:.93;letter-spacing:-.055em}.hero-copy h1 span{color:#ed7971}.hero .eyebrow{color:#e99d97}.hero .dot{background:#e99d97}.hero .intro{font-size:15px;color:#d0cecb;max-width:370px;margin:25px 0 28px}.hero .text-link:hover{color:#edaaa4}.hero .button{background:#b42822;border-color:#b42822}.hero .button:hover{background:var(--red)}.hero-note{font-size:10px;color:#99958f;letter-spacing:.045em;margin:22px 0 0}.hero-watermark{position:absolute;z-index:-1;width:530px;height:530px;bottom:-160px;left:-160px;opacity:.035;filter:brightness(0) invert(1);transform:rotate(-20deg);pointer-events:none}.hero-media{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;padding:50px var(--gutter) 70px 5px;isolation:isolate}.hero-food-frame{position:relative;width:100%;max-width:555px;aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px #ffffff18,0 0 0 12px #ffffff04,0 24px 60px #0006;transform:rotate(-7deg)}.hero-food-frame img{width:100%;height:100%;position:absolute;inset:0;object-position:center;transform:scale(1.06) rotate(7deg)}.photo-caption{position:absolute;bottom:31px;left:17px;right:5vw;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:12px;color:#ddd}.photo-caption span:first-child{font-size:9px;letter-spacing:.12em;color:#edaaa4}.roundel{width:107px;height:107px;background:white;border-radius:50%;position:absolute;top:42px;right:5vw;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px 10px;gap:4px;box-shadow:0 4px 25px #0005;transform:rotate(10deg)}.roundel img{width:61px;height:61px;object-fit:contain}.roundel small{font-size:6px;letter-spacing:.075em;color:var(--red);white-space:nowrap}.hero-symbol{position:absolute;bottom:67px;left:0;width:62px;height:60px;object-fit:contain;opacity:.3;filter:brightness(0) invert(1);transform:rotate(-12deg)}.hero-selector{display:flex;gap:10px;flex-wrap:wrap;margin-top:33px}.hero-choice{display:flex;align-items:center;gap:9px;border:1px solid #ffffff30;background:#ffffff06;color:#bdbbb7;padding:6px 12px 6px 6px;border-radius:30px;font-size:10px;transition:background .2s,border-color .2s}.hero-choice img{width:32px;height:32px;border-radius:50%}.hero-choice.selected{color:white;border-color:#d9857e;background:#ffffff12}.hero-choice:hover{background:#ffffff15}.brand-band{display:flex;align-items:center;justify-content:space-between;gap:27px;overflow:hidden;white-space:nowrap;padding:20px var(--gutter);background:var(--red);color:white;font-size:11px;letter-spacing:.08em}.brand-band img{width:25px;height:25px;object-fit:contain;filter:grayscale(1) invert(1);mix-blend-mode:screen;flex:none}
.menu-gallery .section-top{text-align:center;max-width:820px;margin:0 auto 31px}.menu-gallery .eyebrow{color:var(--red)}.menu-gallery .section-aside{margin-top:22px}.menu-gallery .section-aside p{font-size:14px;color:var(--muted);margin-bottom:16px}.menu-tabs{display:flex;justify-content:center;gap:8px;overflow:auto;padding:10px 0 13px;margin-bottom:18px;scrollbar-width:thin}.menu-tabs button{flex:none;border:1px solid #d5cec5;border-radius:30px;background:white;padding:13px 19px;white-space:nowrap;font-size:12px}.menu-tabs button[aria-selected=true]{background:var(--red);border-color:var(--red);color:white}.menu-tabs button:hover:not([aria-selected=true]){background:var(--soft)}.floating-food-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;padding-top:82px}.floating-food-card{background:var(--soft);border-radius:12px;min-width:0;position:relative;border:1px solid #ebe5dc;transition:transform .25s,box-shadow .25s;text-align:center}.floating-food-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #38291510}.floating-food-card .food-photo{aspect-ratio:1;width:88%;max-width:255px;border-radius:50%;margin:-68px auto 0;overflow:hidden;box-shadow:0 10px 20px #42332415;border:6px solid white}.food-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.floating-food-card:hover .food-photo img{transform:scale(1.05)}.food-info{padding:26px 20px 29px}.food-info h3{font-size:24px;line-height:1.1}.food-info>p{font-size:12px;color:var(--muted);line-height:1.6;min-height:39px;margin:14px 0}.dish-price{font-size:20px;display:block;color:var(--red);margin-bottom:8px}.dish-note{font-size:9px;display:block;color:var(--muted);line-height:1.6;min-height:29px}.food-info>a{display:inline-block;margin-top:17px;padding:10px 22px;color:var(--red);border:1px solid #d8b6ad;border-radius:30px;font-size:11px;background:white}.food-info>a:hover{color:white;background:var(--red);border-color:var(--red)}.menu-foot{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--line);padding-top:24px;margin-top:38px}.menu-foot p{color:var(--muted);font-size:11px;margin:0}.menu-foot .text-link{font-size:12px}.category-feature{display:grid;grid-template-columns:.85fr 1.15fr;gap:35px;align-items:center;background:var(--soft);border-radius:18px;margin:32px 0 0 20px;padding:39px 40px 36px 0}.category-photo{margin:0 0 0 -20px;position:relative;align-self:center}.category-photo>img{width:100%;aspect-ratio:1;border-radius:50%;object-fit:cover;border:8px solid white;box-shadow:0 15px 30px #40250c15}.category-photo figcaption{font-size:10px;color:var(--muted);text-align:center;margin-top:16px;padding:0 15px}.category-title{font-size:30px;margin-bottom:19px;color:var(--red)}.category-dish{display:flex;justify-content:space-between;gap:25px;padding:22px 0;border-top:1px dashed #c9beb1}.category-dish h4{font-size:20px;line-height:1.2}.category-dish p{font-size:12px;margin:10px 0 7px;color:var(--muted)}.category-dish small{font-size:9px;color:var(--muted);line-height:1.5;display:block}.category-price{text-align:right;flex:none}.category-price strong{color:var(--red);font-size:16px;white-space:nowrap}.category-price a{display:block;font-size:10px;text-decoration:underline;margin-top:15px;text-underline-offset:4px}
.story{background:#f6f3ee}.story-heading{text-align:center;margin-bottom:50px}.story-heading .eyebrow{color:var(--red)}.story-mosaic{display:grid;grid-template-columns:.65fr 1.8fr 1fr;gap:36px;align-items:center}.story-note{align-self:center}.story-note img{width:59px;height:79px;object-fit:contain;margin:0 0 25px}.story-note h3{font-size:30px;line-height:1.04;margin-bottom:17px}.story-note p{font-size:12px;color:var(--muted);max-width:135px}.story-photo{height:405px;position:relative;border-radius:140px 10px 10px 10px;overflow:hidden;transform:rotate(-3deg)}.story-photo>img{width:100%;height:100%;object-fit:cover}.story-photo:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#0008)}.image-label{position:absolute;bottom:22px;left:25px;color:white;z-index:1;font-size:9px;letter-spacing:.12em}.story-copy .large-copy{font-size:21px;line-height:1.3;color:var(--black);margin-bottom:18px;letter-spacing:-.025em}.story-copy>p:not(.large-copy){font-size:13px;color:var(--muted)}.story-detail{width:166px;height:166px;overflow:hidden;border:7px solid white;border-radius:50%;margin:30px 0 -9px 15px;box-shadow:0 15px 25px #2e140a10;transform:rotate(9deg)}.story-detail img{width:100%;height:100%}
.specials{background:white}.specials-heading{text-align:center;max-width:800px;margin:0 auto 46px}.specials-heading .eyebrow{color:var(--red)}.specials-heading>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:24px}.specials-stage{display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:45px;background:var(--soft);border-radius:18px;padding:45px 45px 45px 0;margin-left:45px}.specials-photo{margin-left:-45px;position:relative}.specials-photo img{width:100%;aspect-ratio:1;border-radius:50%;border:8px solid white;box-shadow:0 15px 35px #52301315}.vertical-label{display:block;font-size:10px;letter-spacing:.1em;color:var(--red);text-align:center;margin-top:18px}.special-list{margin-bottom:26px}.special-list>a{display:flex;align-items:start;justify-content:space-between;gap:22px;padding:24px 0;border-bottom:1px dashed #c9beb1}.special-list>a:first-child{padding-top:0}.special-list h3{font-size:23px;line-height:1.15}.special-list p{font-size:12px;color:var(--muted);margin:10px 0 0}.special-list b{font-size:17px;color:var(--red);white-space:nowrap}.special-list>a:hover h3{color:var(--red)}
.combos{background:var(--red);color:white;position:relative;isolation:isolate;overflow:hidden;padding-bottom:85px}.combo-watermark{position:absolute;right:-150px;top:50px;width:570px;height:570px;filter:brightness(0) invert(1);opacity:.035;transform:rotate(18deg);z-index:-1}.combo-heading{text-align:center}.combo-heading .eyebrow{color:#f1c1ba}.combo-heading h2{font-size:clamp(54px,6.9vw,102px);letter-spacing:-.06em;line-height:.95}.combo-heading h2 em{font-style:normal;color:#f5d4bd}.combo-heading>p:not(.eyebrow){font-size:14px;color:#f1cfca;margin:25px 0 0}.combo-art{position:relative;width:440px;max-width:90%;margin:5px auto -24px;transform:rotate(-3deg);pointer-events:none}.combo-art>img{width:100%;height:auto}.combo-stamp{position:absolute;right:-20px;top:28px;display:grid;place-content:center;width:85px;height:85px;background:#fff;color:var(--red);border-radius:50%;font-size:17px;font-weight:700;line-height:1;transform:rotate(14deg);box-shadow:0 0 0 5px #ffffff20}.combo-tickets{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative;z-index:2}.combo-ticket{background:#fffaf1;color:var(--black);border-radius:7px;padding:29px 30px 23px;position:relative;transition:transform .2s,box-shadow .2s;overflow:hidden}.combo-ticket:before,.combo-ticket:after{content:'';position:absolute;width:22px;height:22px;background:var(--red);border-radius:50%;top:calc(100% - 71px)}.combo-ticket:before{left:-11px}.combo-ticket:after{right:-11px}.combo-ticket:nth-child(1){transform:rotate(-2deg)}.combo-ticket:nth-child(3){transform:rotate(2deg)}.combo-ticket:hover{transform:translateY(-6px);box-shadow:0 15px 30px #0002}.ticket-kicker{font-size:9px;letter-spacing:.13em;color:var(--red);display:block;margin-bottom:19px}.combo-ticket h3{font-size:31px;line-height:1.05;min-height:65px}.combo-ticket>p{font-size:14px;color:var(--muted);margin:12px 0 22px}.ticket-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px dashed #c0b3a4;padding-top:20px}.ticket-bottom b{font-size:23px;color:var(--red);white-space:nowrap}.ticket-bottom span{font-size:9px;max-width:90px;text-align:right;text-decoration:underline;text-underline-offset:4px;line-height:1.5}
.locations{display:grid;grid-template-columns:.75fr 1.4fr;gap:7vw;background:#171717;color:white}.locations-intro{position:relative;align-self:start}.locations-intro .eyebrow{color:#d88a83;font-size:10px}.locations-intro h2{font-size:clamp(42px,4.7vw,70px);line-height:1}.locations-intro h2 span{color:#eb9b90}.locations-intro>p:not(.eyebrow){font-size:13px;color:#b9b6b1;max-width:280px;margin-top:25px}.hours{display:inline-flex;align-items:center;padding:12px 14px;background:#ffffff08;border:1px solid #ffffff25;border-radius:3px;font-size:11px;color:#ddd}.locations .dot{background:#d8857e}.location-symbol{width:110px;height:110px;object-fit:contain;filter:grayscale(1) invert(1);mix-blend-mode:screen;opacity:.17;margin-top:50px}.branch-grid{display:block;border-top:1px solid #ffffff25}.branch-card{border-bottom:1px solid #ffffff25}.branch-card summary{display:flex;align-items:center;gap:18px;padding:24px 0;cursor:pointer;list-style:none}.branch-card summary::-webkit-details-marker{display:none}.branch-number{font-size:10px;color:#a07470;flex:none;width:22px}.branch-card h3{font-size:25px;flex:1;letter-spacing:-.03em}.branch-hint{font-size:9px;color:#aaa29c;letter-spacing:.05em}.accordion-icon{position:relative;width:19px;height:19px;flex:none;margin-left:12px}.accordion-icon:before,.accordion-icon:after{content:'';position:absolute;background:#d88780;height:1px;width:13px;left:3px;top:9px;transition:transform .2s}.accordion-icon:after{transform:rotate(90deg)}.branch-card[open] .accordion-icon:after{transform:rotate(0)}.branch-card[open] h3{color:#eb9b90}.branch-card summary:hover h3{color:#eb9b90}.branch-panel{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;padding:2px 0 29px 40px}.branch-information p{font-size:11px;color:#ada8a2;line-height:1.6;margin-bottom:15px}.branch-information .branch-hours{font-size:12px;color:#eee}.branch-information .branch-address{font-size:10px;color:#d6b1a9;margin-bottom:19px}.branch-actions{display:flex;align-items:start;gap:19px;flex-direction:column;margin-top:22px}.branch-actions .button{padding:13px 16px;font-size:11px}.branch-actions .text-link{font-size:11px}.branch-actions .text-link:hover{color:#eb9b90}.branch-map{min-height:183px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:19px;background-color:#212020;background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:25px 25px;border:1px dashed #ffffff25;border-radius:5px;padding:20px}.branch-map img{width:48px;height:48px;object-fit:contain;filter:brightness(0) invert(1);opacity:.5}.branch-map span{font-size:9px;color:#99928d;text-align:center}.location-help{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px}.location-help p{font-size:11px;color:#aaa39d;margin:0}.location-help .text-link{font-size:11px}.location-help .text-link:hover{color:#eb9b90}
.contact{background:#f6f3ee;color:var(--black);display:flex;justify-content:space-between;align-items:center;gap:6vw;position:relative;isolation:isolate;overflow:hidden}.contact .eyebrow{color:var(--red)}.contact h2{font-size:clamp(50px,6vw,85px);margin-bottom:27px}.contact>div>p:not(.eyebrow){color:var(--muted);font-size:14px}.contact .button.light{background:var(--red);color:white;border-color:var(--red)}.contact .button.light:hover{background:#7c100e}.contact .button.outline{border-color:#b3a69a;color:var(--black)}.contact .button.outline:hover{background:#e6dfd4}.contact-watermark{position:absolute;z-index:-1;opacity:.035;object-fit:contain;pointer-events:none}.mark-one{width:400px;height:400px;left:-200px;bottom:-200px;transform:rotate(-20deg)}.mark-two{width:580px;height:580px;right:-280px;top:-240px;transform:rotate(18deg)}.contact-numbers{position:relative;min-width:285px;padding-top:70px}.contact-numbers>.call-badge{background:white;border-radius:50%;position:absolute;right:0;top:0;width:64px;height:64px;padding:10px;box-shadow:0 0 0 6px #9a181507}.call-badge img{width:100%;height:100%;object-fit:contain}.contact-numbers>div:not(.call-badge){border-bottom:1px solid var(--line);padding:21px 0}.contact-numbers span{font-size:9px;letter-spacing:.12em;color:var(--muted);display:block;margin-bottom:10px}.contact-numbers a{font-size:32px;font-weight:700;letter-spacing:-.035em;color:var(--red)}.contact-numbers a:hover{text-decoration:underline}.contact-numbers p{font-size:12px;color:var(--muted);margin:21px 0 0}.brand-signoff{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:38px var(--gutter);background:white}.signature-lockup{display:flex;align-items:center;gap:23px}.signoff-logo{width:245px;height:auto}.signoff-tagline{display:flex;flex-direction:column;align-items:end;gap:10px}.signoff-tagline strong{font-size:23px;letter-spacing:-.04em}.signoff-tagline a{font-size:13px;color:var(--red)}.signoff-tagline a:hover{text-decoration:underline}.footer{background:#111;color:white;padding-top:58px;padding-bottom:26px}.footer-top{display:grid;grid-template-columns:1.2fr .7fr .9fr 1fr;gap:35px}.footer-brand{display:flex;flex-direction:column;gap:15px}.footer-brand img{width:56px;height:56px;object-fit:contain;filter:brightness(0) invert(1)}.footer-brand span{font-size:14px;line-height:1.5}.footer-links{display:flex;flex-direction:column;align-items:start;gap:13px;color:#ccc;font-size:12px}.footer-links>span{color:#928e88;font-size:9px;letter-spacing:.13em;margin-bottom:10px}.footer-links p{font-size:12px;margin:0}.footer-links a:hover{color:white}.footer-links .text-link{font-size:12px}.footer-bottom{border-top:1px solid #ffffff20;display:flex;justify-content:space-between;gap:20px;margin-top:50px;padding:22px 125px 0 0;font-size:10px;color:#a5a19b}.whatsapp-float{position:fixed;bottom:22px;right:22px;z-index:25;display:flex;align-items:center;gap:8px;background:#126e45;color:white;border:2px solid white;border-radius:40px;box-shadow:0 5px 18px #0003;padding:13px 17px;font-size:12px}.whatsapp-float:hover{background:#0d5637}.whatsapp-float svg{flex:none}
@media(min-width:1600px){.section{padding-left:calc((100vw - 1440px)/2);padding-right:calc((100vw - 1440px)/2)}.hero-copy{padding-left:calc((100vw - 1440px)/2)}.hero-media{padding-right:calc((100vw - 1440px)/2)}.hero{min-height:750px}.hero-copy h1{font-size:115px}.hero-food-frame{max-width:625px}.roundel{right:calc((100vw - 1440px)/2 + 15px)}}
@media(max-width:1100px){.header nav{gap:20px}.brand img{width:137px}.hero{min-height:610px}.hero-copy h1{font-size:clamp(56px,7.3vw,80px)}.hero .intro{font-size:14px}.hero-selector{gap:6px}.hero-choice{font-size:9px;padding-right:9px;gap:6px}.hero-choice img{width:28px;height:28px}.floating-food-grid{gap:17px}.food-info{padding:23px 14px}.food-info h3{font-size:21px}.dish-note{font-size:9px}.section{padding-top:70px;padding-bottom:70px}.story-mosaic{gap:24px;grid-template-columns:.7fr 1.5fr 1fr}.story-photo{height:370px}.story-note h3{font-size:26px}.story-copy .large-copy{font-size:19px}.story-copy>p:not(.large-copy){font-size:12px}.story-detail{height:130px;width:130px;margin-top:25px}.category-feature{gap:25px;padding-right:28px}.category-dish{gap:15px}.category-dish h4{font-size:18px}.category-price strong{font-size:14px}.specials-stage{gap:30px;padding-right:30px}.special-list h3{font-size:20px}.special-list b{font-size:15px}.combo-ticket{padding:25px 22px}.combo-ticket h3{font-size:28px}.locations{gap:5vw;grid-template-columns:.8fr 1.3fr}.branch-card h3{font-size:22px}.branch-hint{display:none}.branch-panel{padding-left:35px;gap:20px}.contact-numbers{min-width:250px}.contact-numbers a{font-size:29px}}
@media(max-width:900px){.header nav{gap:15px;font-size:12px}.header .button.small{padding:13px 15px;font-size:11px}.floating-food-grid{grid-template-columns:repeat(2,1fr);gap:95px 25px;padding-top:90px}.floating-food-card .food-photo{width:70%;max-width:230px}.food-info h3{font-size:25px}.food-info>p{min-height:0;font-size:13px}.food-info{padding:26px 25px}.story-mosaic{grid-template-columns:.6fr 1.5fr;gap:25px}.story-copy{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:20px}.story-copy>p:not(.large-copy){grid-column:1/-1;max-width:100%}.story-copy .large-copy{grid-column:1;align-self:end}.story-copy .text-link{grid-column:1;align-self:start;justify-self:start}.story-detail{grid-column:2;grid-row:1/4;margin:0 auto;width:180px;height:180px}.story-photo{height:380px}.combo-tickets{gap:18px}.combo-ticket h3{font-size:25px}.ticket-bottom{gap:10px}.ticket-bottom b{font-size:20px}.contact{gap:30px}.contact .actions{gap:13px}.contact .button{padding:16px 20px;font-size:12px}.footer-top{grid-template-columns:1fr 1fr;gap:35px}.brand-signoff{gap:25px}.signature-lockup{gap:15px}.signoff-logo{width:205px}.signoff-tagline strong{font-size:20px}}
@media(max-width:780px){html{scroll-padding-top:90px}.header{padding:13px var(--frame)}.brand img{width:126px}.nav-toggle{display:flex;flex-direction:column;gap:6px;width:37px;padding:16px 7px;border:0;background:transparent}.nav-toggle span{height:2px;width:24px;background:#111;transition:transform .2s}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:20px var(--gutter) 30px;box-shadow:0 12px 20px #0001}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:5px}.header nav>a:not(.button){padding:13px 0;font-size:18px;border-bottom:1px solid #eee}.header nav .button{align-self:start;margin-top:12px}.utility{font-size:10px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:43px var(--gutter) 24px}.hero-copy h1{font-size:clamp(66px,12vw,90px)}.hero .intro{max-width:430px;font-size:15px}.hero-selector{margin-top:27px;gap:8px}.hero-choice{padding:7px 14px 7px 7px;gap:8px;font-size:10px}.hero-choice img{width:32px;height:32px}.hero-note{margin-top:18px}.hero-media{padding:24px 13vw 62px;min-height:0}.hero-food-frame{max-width:465px}.roundel{right:13vw;top:25px;width:95px;height:95px}.roundel img{width:52px;height:52px}.roundel small{font-size:5px}.photo-caption{left:13vw;right:13vw;bottom:22px}.hero-symbol{left:8vw;bottom:50px;width:46px;height:46px}.hero-watermark{top:150px;bottom:auto}.section{padding:58px var(--gutter)}.brand-band{font-size:10px;gap:24px;padding:18px var(--gutter)}.menu-tabs{justify-content:start;margin:0 calc(var(--gutter) * -1) 15px;padding-left:var(--gutter);padding-right:var(--gutter)}.category-feature{grid-template-columns:.7fr 1fr;gap:24px;padding:30px 25px 30px 0;margin-left:10px}.category-photo{margin-left:-10px}.category-title{font-size:25px}.category-dish{display:block;padding:18px 0}.category-price{display:flex;justify-content:space-between;align-items:center;text-align:left;margin-top:13px}.category-price a{margin-top:0}.specials-stage{gap:25px;padding:30px 25px 30px 0;margin-left:18px}.specials-photo{margin-left:-18px}.special-list h3{font-size:19px}.special-list>a{gap:15px}.special-list b{font-size:13px}.specials-copy .button{font-size:11px;padding:15px 18px}.combo-ticket{padding:24px 20px}.combo-ticket h3{font-size:25px}.combo-ticket>p{font-size:12px}.ticket-bottom{flex-direction:column;align-items:start;gap:11px}.ticket-bottom span{max-width:none;text-align:left}.combo-ticket:before,.combo-ticket:after{top:calc(100% - 93px)}.locations{grid-template-columns:1fr;gap:35px}.locations-intro h2{font-size:55px}.locations-intro h2 br{display:none}.locations-intro>p:not(.eyebrow){max-width:430px}.location-symbol{position:absolute;width:80px;height:80px;right:0;top:0;margin:0;opacity:.13}.locations-intro .eyebrow{padding-right:85px}.branch-card summary{padding:24px 0;gap:18px}.branch-card h3{font-size:26px}.branch-hint{display:inline}.branch-panel{grid-template-columns:1fr 1fr;padding-left:40px}.branch-actions{flex-direction:row;align-items:center}.branch-map{min-height:160px}.contact{flex-direction:column;align-items:start;gap:30px}.contact h2{font-size:65px}.contact-numbers{padding-top:0;display:grid;grid-template-columns:1fr 1fr;width:100%;column-gap:35px;min-width:0}.contact-numbers>.call-badge{display:none}.contact-numbers>p{grid-column:1/-1}.contact-numbers a{font-size:29px}.brand-signoff{padding:30px var(--gutter)}.signoff-logo{width:180px}.signoff-tagline strong{font-size:18px}.footer-bottom{padding-right:55px}.whatsapp-float{padding:13px;border-radius:50%;right:16px;bottom:16px}.whatsapp-float span{display:none}}
@media(max-width:540px){.utility{justify-content:center}.utility>a{display:none}.hero-copy h1{font-size:clamp(48px,16vw,70px);max-width:350px}.hero .intro{font-size:14px;max-width:350px}.hero .actions{gap:22px}.hero .button{padding:17px 21px;font-size:12px}.hero-selector{gap:7px;flex-wrap:nowrap}.hero-choice{flex:1;flex-direction:column;gap:7px;padding:10px 5px;font-size:8px;border-radius:6px;text-align:center;line-height:1.3}.hero-choice img{width:35px;height:35px}.hero-media{padding:20px 9vw 61px}.hero-food-frame{max-width:370px}.roundel{right:8vw;top:15px;width:80px;height:80px;padding:10px}.roundel img{width:45px;height:45px}.roundel small{font-size:4.5px}.photo-caption{left:7vw;right:7vw;font-size:10px}.photo-caption span:first-child{font-size:8px}.hero-symbol{left:3vw;bottom:55px;width:40px;height:40px}.brand-band img{width:22px;height:22px}.menu-gallery .section-aside p br{display:none}.menu-tabs button{font-size:11px;padding:12px 16px}.floating-food-grid{gap:75px 13px;padding-top:68px}.floating-food-card .food-photo{width:95%;margin-top:-48px;border-width:4px}.food-info{padding:19px 11px 22px}.food-info h3{font-size:20px}.food-info>p{font-size:11px;min-height:51px;margin:11px 0}.dish-price{font-size:19px}.dish-note{font-size:8px;min-height:27px}.food-info>a{font-size:10px;padding:9px 17px;margin-top:14px}.menu-foot{flex-direction:column;align-items:start;gap:18px}.menu-foot p{font-size:11px}.category-feature{display:block;margin:25px 0 0;padding:25px;border-radius:12px}.category-photo{margin:0 auto 30px;max-width:265px}.category-dish{display:flex;gap:15px;padding:21px 0}.category-price{display:block;margin:0;text-align:right}.category-price a{margin-top:13px}.category-dish h4{font-size:18px}.category-dish p{font-size:11px}.category-price strong{font-size:13px}.category-title{font-size:27px}.story-heading{margin-bottom:34px}.story-heading h2{font-size:43px}.story-mosaic{grid-template-columns:1fr;gap:27px}.story-note{display:flex;gap:20px;align-items:center;order:2}.story-note img{width:44px;height:60px;margin:0}.story-note h3{font-size:25px;margin:0}.story-note p{font-size:12px;margin:0;max-width:120px}.story-photo{height:320px;border-radius:90px 8px 8px 8px;order:1;transform:rotate(-2deg)}.story-copy{order:3;grid-column:auto;display:block}.story-copy .large-copy{font-size:23px}.story-copy>p:not(.large-copy){font-size:13px}.story-detail{width:140px;height:140px;margin:25px 0 0 auto;border-width:6px}.specials-heading h2{font-size:40px}.specials-heading>p:not(.eyebrow){font-size:13px}.specials-stage{display:block;margin:0;padding:24px;border-radius:12px}.specials-photo{margin:0 auto 30px;max-width:300px}.specials-photo img{border-width:6px}.special-list h3{font-size:20px}.special-list b{font-size:14px}.special-list>a{gap:18px;padding:23px 0}.specials-copy .button{font-size:12px}.combo-heading h2{font-size:clamp(44px,12.5vw,68px);line-height:.95}.combo-heading h2>span{display:block}.combo-heading h2>br{display:none}.combo-heading>p:not(.eyebrow){font-size:13px}.combo-art{max-width:95%;width:330px;margin:18px auto -4px}.combo-stamp{right:0;top:16px;width:62px;height:62px;font-size:13px}.combo-tickets{grid-template-columns:1fr;gap:22px;padding:0 5px}.combo-ticket{padding:25px 28px}.combo-ticket:nth-child(1){transform:rotate(-1.5deg)}.combo-ticket:nth-child(3){transform:rotate(1.5deg)}.combo-ticket h3{font-size:30px;min-height:0}.combo-ticket h3 br{display:none}.combo-ticket>p{font-size:14px}.ticket-bottom{flex-direction:row;align-items:center}.ticket-bottom b{font-size:25px}.ticket-bottom span{font-size:10px;max-width:110px;text-align:right}.combo-ticket:before,.combo-ticket:after{top:calc(100% - 68px)}.locations-intro h2{font-size:52px;max-width:340px}.locations-intro h2 br{display:block}.locations-intro .eyebrow{max-width:285px}.branch-card summary{gap:11px;padding:24px 0}.branch-number{font-size:10px;width:22px}.branch-card h3{font-size:24px}.branch-hint{display:none}.accordion-icon{margin-left:5px}.branch-panel{grid-template-columns:1fr;padding:0 0 26px 33px;gap:20px}.branch-information p{font-size:12px}.branch-information .branch-hours{font-size:12px}.branch-actions{flex-direction:row;gap:20px}.branch-actions .button{font-size:10px;padding:13px 14px}.branch-map{min-height:135px}.location-help{flex-direction:column;align-items:start;gap:17px}.contact h2{font-size:clamp(48px,14vw,60px)}.contact p br{display:none}.contact .actions{gap:12px}.contact .button{font-size:12px;padding:17px 18px}.contact-numbers{gap:0 20px}.contact-numbers a{font-size:23px}.contact-numbers span{font-size:8px}.brand-signoff{flex-direction:column;align-items:start;gap:23px}.signoff-logo{width:190px;max-width:54vw}.signature-lockup{gap:17px}.signoff-tagline{align-items:start;gap:8px}.signoff-tagline strong{font-size:22px}.signoff-tagline a{font-size:13px}.footer-top{gap:30px 20px;grid-template-columns:1fr 1fr}.footer-top>div:first-child,.footer-top>div:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column;margin-top:35px;gap:15px;line-height:1.5}.footer-bottom a{align-self:start}}
@media(max-width:350px){.food-info h3{font-size:18px}.floating-food-grid{gap:70px 10px}.food-info{padding-left:8px;padding-right:8px}.food-info>p{font-size:10px}.story-note{gap:15px}.story-note p{font-size:10px}.branch-card h3{font-size:21px}.branch-actions{gap:15px}.branch-actions .text-link{font-size:10px}.contact-numbers a{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Actual Myriad variable fonts; consistent cards across every menu tab. */
body{font-stretch:100%;font-variation-settings:"wdth" 100;font-synthesis:none}
button,input,textarea,select{font-family:var(--font);font-stretch:100%;font-variation-settings:"wdth" 100}
h1,h2,h3,h4{font-weight:700;letter-spacing:-.025em}
.hero-copy h1,.combo-heading h2{letter-spacing:-.035em}
.menu-tabs button{font-weight:600;font-size:14px}
.menu-gallery .section-aside p{font-size:16px}
.floating-food-card{display:flex;flex-direction:column}
.food-info{display:grid;grid-template-rows:minmax(74px,auto) minmax(78px,auto) 28px minmax(37px,auto) 38px;gap:10px;flex:1;padding:24px 20px 28px}
.food-info h3{font-size:26px;line-height:1.12;align-self:center;overflow-wrap:break-word}
.food-info>p{font-size:14px;line-height:1.55;margin:0;min-height:0;align-self:start;color:#5d5954}
.dish-price{font-size:22px;line-height:1.2;margin:0;align-self:center}
.dish-note{font-size:11px;line-height:1.45;min-height:0;color:#68625b;align-self:start}
.food-info>a{margin:0;align-self:end;justify-self:center;font-size:13px;padding:9px 24px;font-weight:600}
.food-photo.photo-pending{background:#eee7dd;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}
.food-photo.photo-pending img{width:52px;height:52px;object-fit:contain;opacity:.35}
.food-photo.photo-pending span{font-size:11px;color:#82766a;line-height:1.4}
.menu-foot p{font-size:13px}.menu-foot .text-link{font-size:14px}
@media(max-width:1100px){.food-info{padding:22px 15px 26px;grid-template-rows:minmax(77px,auto) minmax(86px,auto) 28px minmax(38px,auto) 38px}.food-info h3{font-size:24px}.food-info>p{font-size:14px}}
@media(max-width:900px){.food-info{padding:25px;grid-template-rows:minmax(67px,auto) minmax(70px,auto) 28px minmax(35px,auto) 38px}.food-info h3{font-size:27px}.food-info>p{font-size:15px}}
@media(max-width:540px){.menu-tabs button{font-size:13px}.menu-gallery .section-aside p{font-size:15px}.food-info{padding:20px 12px 24px;gap:10px;grid-template-rows:minmax(94px,auto) minmax(106px,auto) 26px minmax(47px,auto) 37px}.food-info h3{font-size:22px;line-height:1.1}.food-info>p{font-size:13px;line-height:1.5}.dish-price{font-size:21px}.dish-note{font-size:10px}.food-info>a{font-size:12px;padding:9px 20px}.food-photo.photo-pending{gap:10px}.food-photo.photo-pending img{width:37px;height:37px}.food-photo.photo-pending span{font-size:9px}.menu-foot p{font-size:12px}}
@media(max-width:350px){.food-info{padding-left:9px;padding-right:9px;grid-template-rows:minmax(95px,auto) minmax(123px,auto) 26px minmax(51px,auto) 37px}.food-info h3{font-size:20px}.food-info>p{font-size:12px}.food-info>a{font-size:11px;padding:9px 16px}}

/* Ghanaian Specials: preserve the complete meal in a bounded landscape frame. */
#specials .specials-heading{margin-bottom:36px}
#specials .specials-stage{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:center;gap:clamp(28px,3.5vw,48px);padding:32px;margin:0 auto;max-width:var(--container);border-radius:16px}
#specials .specials-photo{margin:0;min-width:0;max-width:none;position:relative}
#specials .specials-image-frame{width:100%;aspect-ratio:3 / 2;position:relative;overflow:hidden;border-radius:12px;background:#c59256;box-shadow:0 10px 25px #52301312}
#specials .specials-image-frame>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;aspect-ratio:auto;object-fit:cover;object-position:50% 50%;border:0;border-radius:0;box-shadow:none}
#specials .specials-photo figcaption{font-size:12px;color:var(--muted);line-height:1.5;margin-top:13px;text-align:left}
#specials .specials-copy{min-width:0;padding:8px 0}
#specials .special-list{margin:0 0 24px}
#specials .special-list>a{gap:22px;padding:22px 0}
#specials .special-list>a:first-child{padding-top:0}
#specials .special-list h3{font-size:24px;line-height:1.15}
#specials .special-list p{font-size:14px;line-height:1.5;margin-top:8px}
#specials .special-list b{font-size:19px;line-height:1.3}
#specials .specials-copy .button{font-size:14px;padding:16px 22px}
@media(max-width:1100px){#specials .specials-stage{padding:26px;gap:28px}#specials .special-list h3{font-size:22px}#specials .special-list b{font-size:18px}}
@media(max-width:900px){#specials .specials-stage{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;max-width:680px;padding:28px}#specials .specials-photo{width:100%;max-width:none;margin:0}#specials .specials-copy{padding:0}#specials .special-list h3{font-size:25px}#specials .special-list b{font-size:20px}}
@media(max-width:540px){#specials .specials-heading{margin-bottom:29px}#specials .specials-stage{padding:18px;gap:25px;border-radius:12px}#specials .specials-image-frame{border-radius:8px}#specials .specials-photo figcaption{font-size:11px;margin-top:10px}#specials .special-list>a{gap:14px;padding:20px 0}#specials .special-list h3{font-size:22px}#specials .special-list p{font-size:13px}#specials .special-list b{font-size:17px}#specials .specials-copy .button{font-size:13px;padding:16px 18px}}

/* Menu refinement: focused meal photographs and a compact, consistent hierarchy. */
#menu .floating-food-grid{gap:28px 24px;padding-top:18px;align-items:stretch}
/* Each card reserves the space for its own photo: the photo sits at the top of the card's box and the white surface starts --photo-overhang lower, so rows can never overlap, however many dishes a grid holds. */
#menu .floating-food-card{--photo-overhang:58px;position:relative;isolation:isolate;background:none;border:1px solid transparent;border-radius:12px;box-shadow:none;display:flex;flex-direction:column;text-align:left;min-width:0}
#menu .floating-food-card::before{content:'';position:absolute;z-index:-1;top:calc(var(--photo-overhang) - 1px);right:-1px;bottom:-1px;left:-1px;background:#fff;border:1px solid #e7e0d8;border-radius:12px}
#menu .floating-food-card:hover{box-shadow:none;transform:none}
#menu .floating-food-card .food-photo{position:relative;width:88%;max-width:244px;aspect-ratio:1;margin:0 auto;border:6px solid white;flex:none;box-shadow:none;overflow:hidden}
#menu .food-photo>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
#menu .food-photo.photo-pending{background:#f0eae1;box-shadow:none}
#menu .food-photo.photo-pending img{width:48px;height:48px;object-fit:contain;opacity:.35}
#menu .food-info{display:flex;flex-direction:column;gap:0;flex:1;padding:25px 22px 24px;font-family:var(--font);font-stretch:100%;font-variation-settings:"wdth" 100}
#menu .dish-copy{min-height:132px;padding-bottom:21px}
#menu .dish-copy :is(h3,h4){font-size:25px;font-weight:700;letter-spacing:-.018em;line-height:1.12;overflow-wrap:break-word;align-self:auto}
#menu .dish-copy p{font-size:15px;line-height:1.5;font-weight:600;color:#625c55;margin:12px 0 0}
#menu .dish-footer{margin-top:auto;padding-top:17px;border-top:1px solid #ebe5dd}
#menu .dish-price-line{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
#menu .dish-price{display:block;margin:0;font-size:25px;line-height:1.1;color:var(--red);font-weight:700;white-space:nowrap}
#menu .dish-portion{display:inline-block;font-size:11px;font-weight:600;line-height:1.3;background:#f5f0e9;color:#675549;border-radius:4px;padding:6px 8px}
#menu .dish-note{display:block;min-height:30px;margin:9px 0 13px;font-size:12px;line-height:1.4;color:#746a60;font-weight:600}
#menu .dish-footer>a{display:flex;align-items:center;justify-content:center;min-height:43px;width:100%;padding:11px 12px;font-size:14px;line-height:1.2;font-weight:600;color:var(--red);background:#fff;border:1px solid #cda9a0;border-radius:5px;margin:0;transition:background .2s,color .2s}
#menu .dish-footer>a:hover{background:var(--red);border-color:var(--red);color:white}
#menu .menu-tabs{gap:9px;margin-bottom:19px}
#menu .menu-tabs button{font-family:var(--font);font-weight:600;font-size:15px;line-height:1.2;padding:13px 20px}
#menu .menu-tabs button[aria-selected=true]{font-weight:700}
#menu .menu-foot{margin-top:32px;padding-top:23px}
#menu .section-aside>.text-link{font-size:15px;padding-bottom:5px}
@media(max-width:1100px){#menu .floating-food-grid{gap:28px 19px}#menu .food-info{padding:23px 17px}#menu .dish-copy :is(h3,h4){font-size:23px}#menu .dish-copy p{font-size:14px}#menu .dish-portion{font-size:10px;padding:5px 7px}#menu .dish-price{font-size:23px}#menu .dish-footer>a{font-size:13px}}
@media(max-width:900px){#menu .floating-food-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 25px;padding-top:18px}#menu .floating-food-card .food-photo{width:76%;max-width:250px}#menu .food-info{padding:25px}#menu .dish-copy{min-height:115px}#menu .dish-copy :is(h3,h4){font-size:27px}#menu .dish-copy p{font-size:16px}#menu .dish-price{font-size:26px}#menu .dish-portion{font-size:12px}#menu .dish-footer>a{font-size:15px}}
@media(max-width:600px){#menu .floating-food-grid{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:18px;max-width:430px;margin:0 auto}#menu .floating-food-card{--photo-overhang:50px}#menu .floating-food-card .food-photo{width:68%;max-width:235px;border-width:5px}#menu .food-info{padding:25px}#menu .dish-copy{min-height:0;padding-bottom:22px}#menu .dish-copy :is(h3,h4){font-size:28px;line-height:1.12}#menu .dish-copy p{font-size:16px;line-height:1.5}#menu .dish-price{font-size:28px}#menu .dish-note{min-height:20px;margin-bottom:14px;font-size:12px}#menu .dish-footer>a{min-height:46px;font-size:15px}#menu .menu-tabs button{font-size:14px;padding:12px 18px}#menu .food-photo.photo-pending img{width:45px;height:45px}#menu .food-photo.photo-pending span{font-size:11px}}
@media(max-width:350px){#menu .food-info{padding:23px 21px}#menu .dish-copy :is(h3,h4){font-size:26px}#menu .dish-copy p{font-size:15px}#menu .dish-portion{font-size:11px}}

/* Story: a food-table composition with one clear narrative. */
#about.story-editorial{background:#f6f3ee;position:relative;overflow:hidden;padding-top:76px;padding-bottom:78px}
#about .story-editorial-top{display:flex;align-items:center;justify-content:space-between;gap:40px;max-width:var(--container);margin:0 auto 37px}
#about .story-editorial-top .eyebrow{color:var(--red);margin-bottom:21px}
#about .story-editorial-top :is(h1,h2){font-size:clamp(44px,5.4vw,78px);letter-spacing:-.03em;line-height:1.02}
#about .story-stamp{flex:none;display:flex;align-items:center;gap:20px;padding:22px 26px;border:1px solid #cab8a7;transform:rotate(5deg);border-radius:50%;width:184px;height:150px;justify-content:center}
#about .story-sankofa{display:block;flex:none;width:43px;height:61px;background:var(--red);-webkit-mask:url('assets/Sankofa.png') center / contain no-repeat;mask:url('assets/Sankofa.png') center / contain no-repeat}
#about .story-stamp p{font-size:18px;line-height:1.05;font-weight:700;letter-spacing:-.015em;color:var(--red);margin:0}
#about .story-table{position:relative;max-width:var(--container);margin:0 auto 46px;padding-right:75px}
#about .story-table-photo{position:relative;width:100%;aspect-ratio:16 / 9;margin:0;overflow:hidden;border-radius:5px;background:#2d3736}
#about .story-table-photo>img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 58%;border-radius:0}
#about .story-table-photo:after{content:'';position:absolute;inset:68% 0 0;background:linear-gradient(transparent,#0006);pointer-events:none}
#about .story-table-photo figcaption{position:absolute;bottom:25px;left:30px;color:white;font-size:11px;letter-spacing:.15em;z-index:1}
#about .story-closeup{position:absolute;width:23%;max-width:268px;right:0;bottom:-30px;background:#fffaf3;border:9px solid #fffaf3;margin:0;transform:rotate(5deg)}
#about .story-closeup-image{position:relative;aspect-ratio:1;overflow:hidden;background:#d4b07b}
#about .story-closeup-image>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;max-width:none}
#about .story-closeup figcaption{font-size:13px;font-weight:700;line-height:1.3;color:var(--red);padding:12px 5px 5px}
#about .story-narrative{display:flex;align-items:end;justify-content:space-between;gap:50px;max-width:var(--container);margin:0 auto;padding-top:12px}
#about .story-narrative>div{max-width:720px}
#about .story-narrative :is(h2,h3){font-size:28px;font-weight:700;line-height:1.15;margin-bottom:16px}
#about .story-narrative p{font-size:18px;line-height:1.6;color:#655d55;margin:0;font-weight:600}
#about .story-narrative>.button{flex:none;font-size:15px;padding:17px 22px;margin-bottom:5px}
@media(max-width:1100px){#about .story-editorial-top :is(h1,h2){font-size:62px}#about .story-stamp{width:160px;height:134px;padding:17px;gap:15px}#about .story-stamp p{font-size:16px}#about .story-sankofa{width:35px;height:49px}#about .story-table{padding-right:55px}#about .story-closeup{width:24%}#about .story-narrative{gap:35px}#about .story-narrative p{font-size:17px}#about .story-narrative>.button{font-size:13px;padding:17px 20px}}
@media(max-width:900px){#about .story-editorial-top :is(h1,h2){font-size:55px}#about .story-editorial-top{gap:28px}#about .story-narrative{flex-direction:column;align-items:start;gap:24px}#about .story-narrative>div{max-width:680px}#about .story-table{margin-bottom:48px}#about .story-closeup{width:26%}#about .story-narrative>.button{font-size:15px;margin:0}}
@media(max-width:780px){#about.story-editorial{padding-top:59px;padding-bottom:62px}#about .story-editorial-top{margin-bottom:30px}#about .story-editorial-top :is(h1,h2){font-size:48px}#about .story-stamp{width:130px;height:116px;gap:11px;padding:15px}#about .story-stamp p{font-size:14px}#about .story-sankofa{width:29px;height:41px}#about .story-table{padding-right:35px;margin-bottom:40px}#about .story-table-photo{aspect-ratio:4 / 3}#about .story-table-photo>img{object-position:50% 54%}#about .story-closeup{width:28%;bottom:-22px;border-width:7px}#about .story-closeup figcaption{font-size:11px;padding:9px 3px 3px}#about .story-table-photo figcaption{bottom:20px;left:21px;font-size:9px}#about .story-narrative :is(h2,h3){font-size:26px}#about .story-narrative p{font-size:17px}}
@media(max-width:540px){#about .story-editorial-top{display:block;position:relative;padding-bottom:0}#about .story-editorial-top :is(h1,h2){font-size:clamp(37px,9.8vw,49px);line-height:1.03}#about .story-editorial-top .eyebrow{margin-bottom:20px;padding-right:90px;min-height:49px;display:flex;align-items:center}#about .story-stamp{position:absolute;right:0;top:-12px;width:83px;height:72px;padding:10px;gap:6px}#about .story-sankofa{width:20px;height:29px}#about .story-stamp p{font-size:10px}#about .story-table{padding-right:0;padding-bottom:55px;margin-bottom:18px}#about .story-table-photo{aspect-ratio:1.06;border-radius:4px}#about .story-table-photo>img{object-position:50% 50%}#about .story-table-photo figcaption{font-size:8px;bottom:16px;left:17px;max-width:50%;line-height:1.5}#about .story-closeup{right:13px;width:38%;bottom:0;max-width:168px;border-width:6px;transform:rotate(5deg)}#about .story-closeup figcaption{font-size:10px;line-height:1.2;padding-top:8px}#about .story-narrative{padding-top:12px;gap:24px}#about .story-narrative :is(h2,h3){font-size:26px;max-width:285px}#about .story-narrative p{font-size:16px;line-height:1.6}#about .story-narrative>.button{font-size:14px;padding:17px 21px}}

/* Supporting typography and purposeful actions; heading sizes stay established. */
body{font-family:var(--font);font-weight:600;font-stretch:100%;font-variation-settings:"wdth" 100}
.eyebrow{font-size:12px;letter-spacing:.1em;line-height:1.5}
.utility{font-size:13px;padding-top:11px;padding-bottom:11px}
.header nav{font-size:15px;gap:23px}
.button{font-family:var(--font);font-stretch:100%;font-variation-settings:"wdth" 100;font-weight:600;font-size:16px;line-height:1.25;min-height:48px;padding:14px 24px;border-radius:5px}
.button.small,.header .button.small{font-size:15px;min-height:44px;padding:12px 18px}
.button:hover{transform:none}
.text-link{font-size:15px;line-height:1.4;padding-bottom:5px}
.hero .intro{font-size:17px;line-height:1.6;color:#ddd9d4}
.hero-note{font-size:13px;color:#bbb5ae;line-height:1.5}
.hero .button{background:var(--red);border-color:var(--red);font-size:16px;padding:14px 24px}
.hero .button:hover{background:#7c100e}
.hero .text-link{font-size:16px}
.hero-choice{font-size:12px;line-height:1.3;min-height:44px}
.photo-caption{font-size:14px}.photo-caption span:first-child{font-size:11px}
.roundel small{font-size:7px}
#menu .section-aside p{font-size:17px;line-height:1.6}
#menu .menu-tabs button{font-size:16px;min-height:46px;padding:12px 21px}
#menu .dish-copy p{font-size:16px;line-height:1.55;color:#5d5751}
#menu .dish-portion{font-size:12px;line-height:1.35;padding:6px 8px;color:#594b41}
#menu .dish-note{font-size:13px;line-height:1.5;color:#675f56;min-height:32px}
#menu .dish-footer>a{font-size:15px;min-height:46px;font-family:var(--font);font-weight:600}
#menu .menu-foot p{font-size:14px;line-height:1.5;color:#675f56}
#menu .menu-foot .text-link,#menu .section-aside>.text-link{font-size:16px}
#specials .specials-heading>p:not(.eyebrow){font-size:17px;line-height:1.6}
#specials .special-list p{font-size:16px;line-height:1.5;color:#625b53}
#specials .specials-photo figcaption{font-size:13px;line-height:1.5}
#specials .specials-copy .button{font-size:16px;min-height:48px;padding:14px 24px}
#about .story-narrative>.button{font-size:16px;min-height:48px;padding:14px 24px}
#about .story-closeup figcaption{font-size:14px;line-height:1.35}
.combo-heading>p:not(.eyebrow){font-size:17px;line-height:1.6}
.ticket-kicker{font-size:12px;letter-spacing:.08em}
.combo-ticket>p{font-size:16px;line-height:1.5}
.ticket-bottom span{font-size:14px;line-height:1.35;max-width:126px}
.locations-intro .eyebrow{font-size:12px}
.locations-intro>p:not(.eyebrow){font-size:16px;line-height:1.6;color:#c4beb7}
.hours{font-size:14px;line-height:1.4;padding:12px 15px}
.branch-number{font-size:12px;color:#ca9e97}
.branch-hint{font-size:12px;color:#bcb4ac}
.branch-information p{font-size:14px;line-height:1.55;color:#c4bdb5}
.branch-information .branch-hours{font-size:15px;color:#f2ede7}
.branch-information .branch-address{font-size:13px;color:#e0b9b1}
.branch-actions .button{font-size:14px;min-height:46px;padding:12px 18px}
.branch-actions .text-link{font-size:14px}
.branch-map span{font-size:12px;line-height:1.5;color:#b5aca3}
.location-help p,.location-help .text-link{font-size:14px;line-height:1.5}
.contact>div>p:not(.eyebrow){font-size:17px;line-height:1.6}
.contact .button{font-size:16px;min-height:48px;padding:14px 24px}
.contact-numbers span{font-size:12px;letter-spacing:.08em;line-height:1.4}
.contact-numbers p{font-size:15px;line-height:1.5}
.footer-links,.footer-links p,.footer-links .text-link{font-size:14px;line-height:1.5}
.footer-links>span{font-size:12px;letter-spacing:.08em;color:#a8a19a}
.footer-brand span{font-size:16px;line-height:1.5}
.footer-bottom{font-size:12px;line-height:1.5;color:#b7b0a8}
.whatsapp-float{font-size:14px}
@media(max-width:1100px){.header nav{gap:18px;font-size:14px}.header .button.small{font-size:14px}.hero .intro{font-size:16px}.hero-choice{font-size:11px}#menu .dish-copy p{font-size:15px}#menu .dish-portion{font-size:11px}#menu .dish-note{font-size:13px}.ticket-bottom{gap:10px}.branch-actions{gap:16px}.contact .button{padding:14px 20px}}
@media(max-width:900px){.header nav{gap:14px}.hero-selector{gap:8px}#menu .dish-copy p{font-size:16px}.branch-hint{display:none}}
@media(max-width:780px){.header nav>a:not(.button){font-size:18px;min-height:48px}.header .button.small{font-size:16px;min-height:48px}.hero .intro{font-size:17px}.hero-choice{font-size:12px}.hero-note{font-size:14px}.branch-hint{font-size:12px}.location-help p,.location-help .text-link{font-size:14px}.contact-numbers span{font-size:11px}}
@media(max-width:600px){#menu .dish-copy p{font-size:16px}#menu .dish-portion{font-size:12px}#menu .dish-note{font-size:13px}#menu .dish-footer>a{font-size:16px;min-height:48px}}
@media(max-width:540px){.utility{font-size:12px}.hero .intro{font-size:16px}.hero .button,.hero .text-link{font-size:15px}.hero .button{min-height:48px;padding:14px 21px}.hero-choice{font-size:12px;line-height:1.3;padding:10px 6px;min-height:74px}.hero-note{font-size:13px}.photo-caption{font-size:12px}.photo-caption span:first-child{font-size:10px}.roundel small{font-size:5px}#menu .menu-tabs button{font-size:15px;min-height:46px}#menu .menu-foot p{font-size:13px}#menu .menu-foot .text-link{font-size:15px}#specials .special-list p{font-size:15px}#specials .specials-copy .button{font-size:15px;padding:14px 20px}#specials .specials-heading>p:not(.eyebrow){font-size:16px}#about .story-narrative>.button{font-size:15px;padding:14px 21px}#about .story-closeup figcaption{font-size:12px}.combo-heading>p:not(.eyebrow){font-size:16px}.ticket-bottom span{font-size:14px;max-width:130px}.branch-information p{font-size:14px}.branch-information .branch-hours{font-size:15px}.branch-information .branch-address{font-size:13px}.branch-actions .button{font-size:13px;min-height:46px;padding:12px 15px}.branch-actions .text-link{font-size:13px}.contact>div>p:not(.eyebrow){font-size:16px}.contact .button{font-size:15px;padding:14px 20px}.contact-numbers span{font-size:10px}.contact-numbers p{font-size:14px}.footer-links>span{font-size:11px}.footer-bottom{font-size:12px}}

/* Quick Combos: one joined offer board with integrated action stubs. */
#quick-combos{background:var(--red);color:white;position:relative;overflow:hidden;isolation:isolate;padding-top:76px;padding-bottom:72px}
#quick-combos .combo-composition{max-width:var(--container);margin:0 auto}
#quick-combos .combo-stage{display:grid;grid-template-columns:1.05fr 1fr;gap:26px;align-items:end;position:relative}
#quick-combos .combo-heading{text-align:left;padding-bottom:44px;position:relative;z-index:1}
#quick-combos .combo-heading h2{font-size:clamp(54px,6.9vw,102px);line-height:.96;letter-spacing:-.035em}
#quick-combos .combo-heading h2>span{display:block}
#quick-combos .combo-heading h2>br{display:none}
#quick-combos .combo-heading h2 em{font-style:normal;color:#f5d4bd}
#quick-combos .combo-heading .eyebrow{font-size:12px;letter-spacing:.1em;color:#f1c1ba;margin-bottom:21px}
#quick-combos .combo-heading>p:not(.eyebrow){font-size:18px;line-height:1.5;color:#f4d4ce;margin:25px 0 0}
#quick-combos .combo-art{position:relative;pointer-events:none;width:calc(100% + 36px);max-width:none;margin:0 0 -28px -18px;transform:none;z-index:0}
#quick-combos .combo-art>img{width:100%;height:auto;display:block}
#quick-combos .combo-tickets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:#fffaf1;border-radius:8px;position:relative;z-index:2;overflow:visible}
#quick-combos .combo-ticket{display:flex;flex-direction:column;min-width:0;margin:0;background:transparent;color:var(--black);border-radius:0;padding:0;position:relative;overflow:visible;transform:none;box-shadow:none;transition:none}
#quick-combos .combo-ticket:not(:last-child){border-right:1px dashed #bba897}
#quick-combos .combo-ticket:before,#quick-combos .combo-ticket:after{content:'';position:absolute;width:20px;height:20px;border-radius:50%;background:var(--red);left:auto;top:auto;bottom:auto;right:-10px;z-index:3}
#quick-combos .combo-ticket:not(:last-child):before{top:-10px}
#quick-combos .combo-ticket:not(:last-child):after{bottom:-10px}
#quick-combos .combo-ticket:last-child:before,#quick-combos .combo-ticket:last-child:after{display:none}
#quick-combos .combo-ticket:hover{transform:none;box-shadow:none}
#quick-combos .combo-ticket-content{padding:35px 31px 28px;flex:1}
#quick-combos .combo-ticket h3{font-family:var(--font);font-weight:700;font-size:34px;line-height:1.05;letter-spacing:-.025em;min-height:2.1em;margin:0 0 22px}
#quick-combos .combo-pairing{margin-bottom:28px}
#quick-combos .combo-pairing>span,#quick-combos .combo-price>span{display:block;font-size:12px;letter-spacing:.08em;line-height:1.5;color:#7e6a5a;font-weight:600}
#quick-combos .combo-pairing p{font-size:20px;line-height:1.25;font-weight:600;color:#51463d;margin:7px 0 0}
#quick-combos .combo-price{display:flex;flex-direction:column;gap:8px}
#quick-combos .combo-price strong{font-size:45px;line-height:1;letter-spacing:-.025em;font-weight:700;color:var(--red);white-space:nowrap}
#quick-combos .ticket-action{border-top:1px dashed #cbbbA9;padding:20px 31px 24px;background:#f4ece0;position:relative}
#quick-combos .combo-ticket:first-child .ticket-action{border-radius:0 0 0 8px}
#quick-combos .combo-ticket:last-child .ticket-action{border-radius:0 0 8px 0}
#quick-combos .combo-action{display:flex;align-items:center;justify-content:center;font-family:var(--font);font-size:16px;font-weight:600;line-height:1.25;min-height:48px;width:100%;padding:13px 15px;border:1px solid var(--red);border-radius:5px;background:var(--red);color:white;transition:background .2s}
#quick-combos .combo-action:hover{background:#7b100e;border-color:#7b100e}
#quick-combos .combo-help{font-size:14px;line-height:1.5;color:#f2cbc5;text-align:center;margin:26px 0 0}
@media(max-width:1100px){#quick-combos .combo-stage{grid-template-columns:1.1fr 1fr;gap:18px}#quick-combos .combo-ticket-content{padding:29px 25px 25px}#quick-combos .combo-ticket h3{font-size:31px}#quick-combos .combo-price strong{font-size:40px}#quick-combos .ticket-action{padding:19px 25px 22px}#quick-combos .combo-action{font-size:15px}}
@media(max-width:900px){#quick-combos .combo-heading h2{font-size:66px}#quick-combos .combo-heading>p:not(.eyebrow){font-size:17px}#quick-combos .combo-ticket-content{padding:27px 21px 23px}#quick-combos .combo-ticket h3{font-size:28px;min-height:3.15em;margin-bottom:20px}#quick-combos .combo-pairing p{font-size:18px}#quick-combos .combo-price strong{font-size:38px}#quick-combos .ticket-action{padding:17px 21px 20px}#quick-combos .combo-action{font-size:14px;padding:13px 10px}}
@media(max-width:780px){#quick-combos{padding-top:60px;padding-bottom:58px}#quick-combos .combo-stage{grid-template-columns:1fr;gap:0}#quick-combos .combo-heading{text-align:center;padding-bottom:0}#quick-combos .combo-heading h2{font-size:clamp(54px,8.5vw,68px)}#quick-combos .combo-heading h2>span{display:inline}#quick-combos .combo-heading h2>br{display:block}#quick-combos .combo-heading>p:not(.eyebrow){font-size:17px}#quick-combos .combo-art{width:520px;max-width:90%;margin:12px auto -30px}#quick-combos .combo-ticket-content{padding:25px 18px 23px}#quick-combos .combo-ticket h3{font-size:27px}#quick-combos .combo-pairing>span,#quick-combos .combo-price>span{font-size:11px}#quick-combos .combo-pairing p{font-size:17px}#quick-combos .combo-price strong{font-size:35px}#quick-combos .ticket-action{padding:17px 18px 20px}#quick-combos .combo-action{font-size:14px}}
@media(max-width:600px){#quick-combos .combo-heading h2>span{display:block}#quick-combos .combo-heading h2>br{display:none}#quick-combos .combo-heading h2{font-size:clamp(49px,12.5vw,68px)}#quick-combos .combo-heading>p:not(.eyebrow){font-size:17px;margin-top:22px}#quick-combos .combo-art{max-width:100%;width:430px;margin:18px auto -24px}#quick-combos .combo-tickets{grid-template-columns:minmax(0,1fr);max-width:430px;margin:0 auto}#quick-combos .combo-ticket:not(:last-child){border-right:0;border-bottom:1px dashed #bba897}#quick-combos .combo-ticket:not(:last-child):before,#quick-combos .combo-ticket:not(:last-child):after{top:auto;bottom:-10px}#quick-combos .combo-ticket:not(:last-child):before{left:-10px;right:auto}#quick-combos .combo-ticket:not(:last-child):after{right:-10px;left:auto}#quick-combos .combo-ticket-content{padding:28px 27px 24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 22px}#quick-combos .combo-ticket h3{grid-column:1/-1;font-size:32px;min-height:0;line-height:1.08;margin-bottom:23px;max-width:310px}#quick-combos .combo-pairing{grid-column:1;margin:0;align-self:center}#quick-combos .combo-pairing p{font-size:19px}#quick-combos .combo-pairing>span,#quick-combos .combo-price>span{font-size:11px}#quick-combos .combo-price{grid-column:2;text-align:right;align-self:center;gap:7px}#quick-combos .combo-price strong{font-size:38px}#quick-combos .ticket-action{padding:18px 27px 23px}#quick-combos .combo-ticket:first-child .ticket-action{border-radius:0}#quick-combos .combo-ticket:last-child .ticket-action{border-radius:0 0 8px 8px}#quick-combos .combo-action{font-size:16px;min-height:48px;padding:13px 15px}#quick-combos .combo-help{font-size:13px;max-width:330px;margin:24px auto 0}}
@media(max-width:350px){#quick-combos .combo-ticket-content{padding:26px 22px 23px;gap:0 14px}#quick-combos .combo-ticket h3{font-size:30px}#quick-combos .combo-pairing p{font-size:17px}#quick-combos .combo-price strong{font-size:33px}#quick-combos .ticket-action{padding:17px 22px 22px}#quick-combos .combo-action{font-size:15px}}

/* Locations: a compact introduction and a full-width, readable branch directory. */
#locations.locations-directory{display:block;background:#171717;color:white;padding-top:74px;padding-bottom:72px}
#locations .locations-intro{display:flex;align-items:end;justify-content:space-between;gap:56px;max-width:var(--container);margin:0 auto 42px}
#locations .locations-intro .eyebrow{font-size:12px;line-height:1.5;padding:0;max-width:none;margin-bottom:21px;color:#ddaaa3}
#locations .locations-intro h2{font-size:clamp(44px,4.7vw,70px);line-height:1.02;max-width:none}
#locations .locations-intro h2 br{display:block}
#locations .locations-overview{max-width:420px;padding-bottom:4px}
#locations .locations-overview>p{font-size:17px;line-height:1.6;color:#c6c0b8;margin:0 0 22px}
#locations .hours{font-size:15px;line-height:1.3;color:#eee8e0;padding:12px 16px;background:#ffffff06;border:1px solid #ffffff25;margin:0}
#locations .locations-list{max-width:var(--container);margin:0 auto}
#locations .directory-caption{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;font-size:13px;color:#b9aea3;line-height:1.5}
#locations .directory-caption>span:first-child{font-size:12px;letter-spacing:.1em}
#locations .branch-grid{display:block;border-top:1px solid #ffffff25}
#locations .branch-card{border-bottom:1px solid #ffffff25;box-shadow:none;background:transparent}
#locations .branch-card summary{display:grid;grid-template-columns:minmax(0,1fr) auto 150px;align-items:center;gap:34px;padding:26px 22px;min-height:94px;list-style:none;border-radius:0;transition:background .2s}
#locations .branch-card summary:hover{background:#ffffff04}
#locations .branch-card summary::-webkit-details-marker{display:none}
#locations .branch-card summary h3{font-size:32px;line-height:1.15;font-weight:700;color:#f5efe6;letter-spacing:-.02em;margin:0}
#locations .branch-card[open] summary{background:#ffffff04}
#locations .branch-card[open] summary h3{color:#edaaa0}
#locations .branch-schedule{font-size:15px;color:#b8b0a6;line-height:1.4}
#locations .branch-control{display:flex;justify-content:end;align-items:center;gap:16px}
#locations .branch-hint{display:inline;font-size:14px;color:#c8bfb3;letter-spacing:0;line-height:1.3}
#locations .accordion-icon{margin:0;width:22px;height:22px}
#locations .accordion-icon:before,#locations .accordion-icon:after{width:14px;left:4px;top:10px;background:#e0a499}
#locations .branch-panel{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(180px,.85fr) minmax(180px,.85fr);align-items:center;gap:38px;padding:7px 22px 31px;background:#ffffff04}
#locations .branch-information{margin:0;padding:0}
#locations .branch-information dt{font-size:12px;letter-spacing:.07em;color:#a79a8c;line-height:1.4;margin:0 0 7px}
#locations .branch-information dd{margin:0;font-size:17px;color:#eee8e0;line-height:1.5}
#locations .branch-information .branch-hours{font-size:17px;color:#eee8e0;margin-bottom:23px}
#locations .branch-information .branch-address{font-size:16px;color:#c9bdb0}
#locations .branch-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin:0;max-width:260px;width:100%}
#locations .branch-actions .button{font-size:15px;font-weight:600;min-height:47px;padding:12px 18px}
#locations .branch-actions .button.outline{border-color:#ffffff45;color:#f0e9df;background:transparent}
#locations .branch-actions .button.outline:hover{background:#ffffff08;border-color:#ffffff80}
#locations .branch-map{min-height:132px;max-height:150px;border:1px dashed #ffffff25;border-radius:5px;padding:20px;display:flex;flex-direction:column;align-items:start;justify-content:center;gap:9px;background:#ffffff02;box-shadow:none}
#locations .branch-map-title{font-size:15px;color:#d2c8bc;line-height:1.4}
#locations .branch-map p{font-size:13px;line-height:1.5;color:#a69a8b;margin:0}
#locations .location-help{margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:24px}
#locations .location-help p{font-size:15px;line-height:1.5;margin:0;color:#c4baad}
#locations .location-help .text-link{font-size:15px;line-height:1.4;color:#f1e9df}
#locations .location-help .text-link:hover{color:#edaaa0}
@media(max-width:1100px){#locations .locations-intro{gap:35px}#locations .locations-overview{max-width:360px}#locations .branch-card summary{grid-template-columns:minmax(0,1fr) auto 135px;gap:23px;padding:25px 18px}#locations .branch-card summary h3{font-size:29px}#locations .branch-panel{padding:8px 18px 29px;gap:27px}#locations .branch-information dd,#locations .branch-information .branch-hours{font-size:16px}#locations .branch-actions .button{font-size:14px;padding:12px 15px}}
@media(max-width:900px){#locations .locations-intro{align-items:start}#locations .locations-overview{max-width:320px;padding-top:29px}#locations .branch-panel{grid-template-columns:minmax(0,1fr) minmax(190px,1fr);gap:27px}#locations .branch-map{grid-column:1/-1;min-height:96px;max-height:none;flex-direction:row;align-items:center;justify-content:space-between;padding:20px}#locations .branch-actions{max-width:none}}
@media(max-width:780px){#locations.locations-directory{padding-top:59px;padding-bottom:60px}#locations .locations-intro{display:block;margin-bottom:34px}#locations .locations-intro h2{font-size:55px}#locations .locations-overview{max-width:520px;padding:0;margin-top:24px}#locations .locations-overview>p{font-size:17px;margin-bottom:19px}#locations .branch-card summary{grid-template-columns:minmax(0,1fr) auto;gap:10px 22px;padding:25px 15px}#locations .branch-card summary h3{font-size:30px}#locations .branch-schedule{grid-column:1;grid-row:2;font-size:14px}#locations .branch-control{grid-column:2;grid-row:1/3}#locations .branch-panel{padding:4px 15px 27px;gap:25px}#locations .branch-hint{font-size:14px}}
@media(max-width:540px){#locations .locations-intro h2{font-size:52px}#locations .locations-intro .eyebrow{font-size:11px;max-width:280px}#locations .locations-overview>p{font-size:16px}#locations .hours{font-size:14px}#locations .branch-card summary{grid-template-columns:minmax(0,1fr) 94px;padding:24px 0;gap:9px 13px;min-height:101px}#locations .branch-card summary h3{font-size:27px}#locations .branch-schedule{font-size:13px}#locations .branch-control{gap:8px}#locations .branch-hint{font-size:12px}#locations .accordion-icon{width:19px;height:19px;flex:none}#locations .accordion-icon:before,#locations .accordion-icon:after{left:3px;top:9px;width:13px}#locations .branch-panel{grid-template-columns:minmax(0,1fr);padding:0 0 25px;gap:22px;background:transparent}#locations .branch-information dt{font-size:11px}#locations .branch-information dd,#locations .branch-information .branch-hours{font-size:17px}#locations .branch-information .branch-address{font-size:16px}#locations .branch-information .branch-hours{margin-bottom:20px}#locations .branch-actions{flex-direction:row;gap:12px}#locations .branch-actions .button{flex:1;min-width:0;font-size:14px;min-height:47px;padding:12px 10px}#locations .branch-map{grid-column:1;min-height:90px;flex-direction:column;align-items:start;justify-content:center;gap:5px;padding:17px}#locations .branch-map-title{font-size:14px}#locations .branch-map p{font-size:13px}#locations .location-help{flex-direction:column;align-items:start;gap:17px}#locations .location-help p,#locations .location-help .text-link{font-size:15px}}
@media(max-width:350px){#locations .branch-card summary h3{font-size:25px}#locations .branch-card summary{grid-template-columns:minmax(0,1fr) 86px;gap:9px 10px}#locations .branch-hint{font-size:11px}#locations .branch-actions .button{font-size:13px}}

/* Hero: one dark stage, food-led artwork and restrained slideshow controls. */
#hero.hero-slider{display:block;position:relative;min-height:0;background:#101010;color:#fff;overflow:hidden;isolation:isolate}
#hero.hero-slider:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 110% 70%,#9a181577 0%,transparent 52%),radial-gradient(ellipse at -15% 5%,#9a181540 0%,transparent 45%)}
#hero .hero-stage{position:relative;min-height:650px;max-width:1600px;margin:auto;display:flex;align-items:center;isolation:isolate}
#hero .hero-copy{width:49%;padding:64px 0 64px var(--gutter);z-index:2;align-self:center;position:relative}
#hero .hero-copy .eyebrow{font-size:13px;letter-spacing:.12em;color:#e7aaa3;margin:0 0 24px}
#hero .hero-copy h1{font-family:var(--font);font-size:clamp(64px,7.1vw,104px);line-height:.95;letter-spacing:-.035em;color:#fff;min-height:2.85em}
#hero .hero-copy h1 span{color:#ed7971}
#hero .hero-copy .intro{max-width:365px;min-height:3.1em;margin:27px 0 31px;font-size:19px;line-height:1.55;color:#ded8d2}
#hero .hero-primary{font-size:18px;min-height:56px;padding:17px 30px;background:var(--red);border-color:#c34a42;border-radius:3px;box-shadow:none;transform:none}
#hero .hero-primary:hover{background:#b1241e;border-color:#dd685f;transform:none}
#hero .hero-art{position:absolute;right:0;top:0;bottom:0;width:57%;padding:0;pointer-events:none;overflow:visible;z-index:1}
#hero .hero-art img{position:absolute;top:50%;left:var(--art-x,0%);width:160%;max-width:none;height:auto;aspect-ratio:1600 / 1065;object-fit:contain;clip-path:var(--plate-mask,ellipse(31% 46% at 34% 50%));transform:translateY(-50%) rotate(-8deg);border:0;border-radius:0;box-shadow:none}
#hero .hero-controls{position:relative;max-width:1600px;margin:-15px auto 0;padding:0 var(--gutter) 28px;display:flex;align-items:center;gap:18px;z-index:3}
#hero .hero-dots{display:flex;gap:3px}
#hero .hero-dots button{display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;padding:0;box-shadow:none}
#hero .hero-dots button span{display:block;width:8px;height:8px;border:1px solid #aaa09a;border-radius:50%;background:transparent;transition:width .2s,background .2s}
#hero .hero-dots button.selected span{width:28px;border-radius:8px;background:#ed7971;border-color:#ed7971}
#hero .hero-dots button:hover span{border-color:white}




#hero .hero-slide-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:1600px){#hero .hero-copy{padding-left:80px}#hero .hero-controls{padding-left:80px;padding-right:80px}}
@media(max-width:1100px){#hero .hero-stage{min-height:610px}#hero .hero-copy{width:51%;padding-top:55px;padding-bottom:55px}#hero .hero-copy h1{font-size:clamp(60px,7.5vw,82px)}#hero .hero-copy .intro{font-size:18px;max-width:325px}#hero .hero-art{width:56%;right:-2%}}
@media(max-width:760px){#hero .hero-stage{display:flex;flex-direction:column;min-height:0;align-items:stretch}#hero .hero-copy{width:100%;padding:42px var(--gutter) 0;align-self:auto}#hero .hero-copy h1{font-size:clamp(56px,11vw,78px);min-height:2.85em}#hero .hero-copy .eyebrow{font-size:12px;margin-bottom:21px}#hero .hero-copy .intro{max-width:390px;font-size:18px;margin:23px 0 26px;min-height:3.1em}#hero .hero-primary{font-size:18px}#hero .hero-art{position:relative;top:auto;bottom:auto;right:auto;width:100%;height:auto;aspect-ratio:1.35;margin:12px 0 0;overflow:hidden}#hero .hero-art img{width:135%;left:calc(var(--art-x,0%) + 4%)}#hero .hero-controls{margin:-6px 0 0;padding:0 var(--gutter) 21px}}
@media(max-width:400px){#hero .hero-copy h1{font-size:15vw}#hero .hero-copy .intro{font-size:17px;max-width:310px;min-height:4.65em}#hero .hero-primary{min-height:53px;padding:16px 25px}#hero .hero-art{aspect-ratio:1.2;margin-top:8px}}
@media(prefers-reduced-motion:reduce){#hero .hero-dots button span{transition:none}}

/* Page rhythm: content-led intervals, preserving each approved composition. */
#menu.menu-section{padding-top:clamp(60px,5.5vw,80px);padding-bottom:clamp(56px,4.7vw,68px)}
#menu .section-top{margin-bottom:24px}
#menu .section-aside{margin-top:18px}
#menu .section-aside p{margin-bottom:14px}
#menu .floating-food-grid,#menu .menu-foot{max-width:var(--container);margin-left:auto;margin-right:auto}
#menu .menu-tabs{margin-bottom:12px}
#menu .menu-foot{margin-top:28px;padding-top:22px}
#about.story-editorial{padding-top:clamp(64px,6.2vw,88px);padding-bottom:clamp(60px,5.1vw,74px)}
#about .story-editorial-top{margin-bottom:42px}
/* Retain the photo/inset clearance so the narrative has a clean starting point. */
#about .story-table{margin-bottom:46px}
#specials.section{padding-top:clamp(60px,5.2vw,76px);padding-bottom:clamp(64px,5.5vw,80px)}
#specials .specials-heading{margin-bottom:32px}
#specials .specials-heading>p:not(.eyebrow){margin-top:20px;margin-bottom:0}
#quick-combos.section{padding-top:clamp(64px,5.8vw,84px);padding-bottom:clamp(56px,4.8vw,70px)}
#quick-combos .combo-help{margin-top:22px}
#locations.locations-directory{padding-top:clamp(64px,5.8vw,84px);padding-bottom:clamp(56px,4.8vw,70px)}
#locations .locations-intro{margin-bottom:36px}
#contact.section{padding-top:clamp(56px,4.8vw,70px);padding-bottom:clamp(56px,4.8vw,70px)}
#contact h2{margin-bottom:22px}
.brand-signoff{padding-top:28px;padding-bottom:28px}
.footer.section{padding-top:50px;padding-bottom:26px}
.footer-bottom{margin-top:40px}
@media(max-width:780px){
 #menu.menu-section{padding-top:56px;padding-bottom:52px}
 #menu .section-top{margin-bottom:22px}
 #menu .section-aside{margin-top:18px}
 #menu .menu-tabs{margin-bottom:12px}
 #about.story-editorial{padding-top:64px;padding-bottom:60px}
 #about .story-editorial-top{margin-bottom:32px}
 #about .story-table{margin-bottom:40px}
 #specials.section{padding-top:56px;padding-bottom:62px}
 #specials .specials-heading{margin-bottom:28px}
 #specials .specials-heading>p:not(.eyebrow){margin-top:18px}
 #quick-combos.section{padding-top:64px;padding-bottom:56px}
 #quick-combos .combo-help{margin-top:22px}
 #locations.locations-directory{padding-top:64px;padding-bottom:56px}
 #locations .locations-intro{margin-bottom:30px}
 #contact.section{padding-top:54px;padding-bottom:54px}
 .brand-signoff{padding-top:26px;padding-bottom:26px}
 .footer.section{padding-top:44px;padding-bottom:26px}
 .footer-bottom{margin-top:34px}
}
@media(max-width:540px){
 #menu .menu-foot{gap:16px;margin-top:26px;padding-top:20px}
 #about .story-editorial-top{margin-bottom:28px}
 #about .story-table{margin-bottom:18px}
 #about .story-narrative{gap:22px}
 #locations .locations-overview{margin-top:22px}
 #locations .location-help{margin-top:24px}
 #contact h2{margin-bottom:20px}
}

/* Final details: a single Story photograph and all four verified combos. */
#about .story-table{padding-right:0;padding-bottom:0;margin-bottom:32px}
#about .story-table-photo{aspect-ratio:16 / 9}
#about .story-table-photo figcaption{max-width:none}
#quick-combos .combo-tickets{grid-template-columns:repeat(4,minmax(0,1fr))}
#quick-combos .combo-ticket-content{padding:30px 25px 26px}
#quick-combos .combo-ticket h3{font-size:30px;min-height:2.1em}
#quick-combos .combo-pairing p{font-size:19px}
#quick-combos .combo-price strong{font-size:40px}
#quick-combos .ticket-action{padding:19px 25px 23px}
#quick-combos .combo-action{font-size:15px;padding:13px 10px}
/* Restrict the sparse produce motif to the introduction, away from food cards. */
#menu.menu-section,.menu-hero{position:relative;isolation:isolate}
#menu.menu-section:before,.menu-hero:before{content:'';position:absolute;inset:0 0 auto;height:260px;z-index:-1;pointer-events:none;background:url('assets/menu-produce-overlay.webp') center top / 1100px auto no-repeat;filter:brightness(0);opacity:.4;-webkit-mask-image:linear-gradient(#000,transparent);mask-image:linear-gradient(#000,transparent)}
@media(max-width:1100px) and (min-width:601px){
 #quick-combos .combo-tickets{grid-template-columns:repeat(2,minmax(0,1fr))}
 #quick-combos .combo-ticket:nth-child(even){border-right:0}
 #quick-combos .combo-ticket:nth-child(odd){border-right:1px dashed #bba897}
 #quick-combos .combo-ticket:nth-child(-n+2){border-bottom:1px dashed #bba897}
 #quick-combos .combo-ticket:before,#quick-combos .combo-ticket:after{display:none}
 #quick-combos .combo-ticket h3{font-size:31px;min-height:2.1em}
 #quick-combos .combo-ticket:first-child .ticket-action{border-radius:0}
 #quick-combos .combo-ticket:nth-child(3) .ticket-action{border-radius:0 0 0 8px}
 #quick-combos .combo-ticket:last-child .ticket-action{border-radius:0 0 8px 0}
}
@media(max-width:780px){
 #about .story-table{padding-right:0;margin-bottom:28px}
 #about .story-table-photo{aspect-ratio:4 / 3}
 #menu.menu-section:before,.menu-hero:before{height:220px;background-size:850px auto;opacity:.3}
}
@media(max-width:600px){
 #quick-combos .combo-tickets{grid-template-columns:minmax(0,1fr)}
 #quick-combos .combo-ticket-content{padding:28px 27px 24px}
 #quick-combos .combo-ticket h3{font-size:32px;min-height:0}
 #quick-combos .combo-price strong{font-size:38px}
 #quick-combos .ticket-action{padding:18px 27px 23px}
 #quick-combos .combo-action{font-size:16px;padding:13px 15px}
}
@media(max-width:540px){#about .story-table{padding-bottom:0;margin-bottom:24px}#about .story-table-photo figcaption{max-width:none}}
@media(max-width:350px){#quick-combos .combo-ticket-content{padding:26px 22px 23px}#quick-combos .combo-ticket h3{font-size:30px}#quick-combos .combo-price strong{font-size:33px}#quick-combos .ticket-action{padding:17px 22px 22px}#quick-combos .combo-action{font-size:15px}}

/* A single compact closing composition, with brand and practical links together. */
#site-footer.footer-unified{background:#111;color:#f6f0e9;padding-top:48px;padding-bottom:24px}
#site-footer .footer-top{display:grid;grid-template-columns:minmax(300px,1.5fr) minmax(120px,.7fr) minmax(145px,.85fr) minmax(210px,1fr);gap:36px;max-width:var(--container);margin:0 auto;align-items:start}
#site-footer .footer-lockup{display:flex;align-items:center;gap:18px}
#site-footer .footer-wordmark{display:block;flex:none}
#site-footer .footer-wordmark img{width:196px;height:auto;object-fit:contain;filter:brightness(0) invert(1)}



#site-footer .footer-tagline{font-size:20px;line-height:1.3;font-weight:700;letter-spacing:-.025em;margin:21px 0 0;color:#f6f0e9}
#site-footer h2{font-family:var(--font);font-size:14px;line-height:1.4;font-weight:700;letter-spacing:0;color:#e6aaa3;margin:0 0 15px}
#site-footer .footer-links{display:flex;flex-direction:column;align-items:start;gap:0;font-size:15px;line-height:1.4;color:#eee7df}
#site-footer .footer-links a{display:inline-flex;align-items:center;min-height:34px;padding:6px 0;text-decoration:none;text-underline-offset:4px}
#site-footer a:hover{color:#fff;text-decoration:underline}
#site-footer .footer-contact-link{display:flex;flex-direction:column;align-items:start;gap:4px;padding:5px 0;margin-bottom:12px;min-height:44px}
#site-footer .footer-contact-link span{font-size:12px;line-height:1.4;color:#c9beb2}
#site-footer .footer-contact-link strong{font-size:18px;line-height:1.2;font-weight:700;color:#f6f0e9;letter-spacing:.005em}
#site-footer .footer-contact p{font-size:14px;line-height:1.5;color:#c9beb2;margin:14px 0 0}
#site-footer .footer-bottom{max-width:var(--container);margin:30px auto 0;border-top:1px solid #ffffff25;padding:18px 125px 0 0;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:24px;font-size:13px;line-height:1.5;color:#c9beb2}
#site-footer .footer-bottom a{color:#eee7df;min-height:36px;display:inline-flex;align-items:center;padding:5px 0;flex:none}
@media(max-width:1100px){#site-footer .footer-top{gap:25px;grid-template-columns:minmax(275px,1.35fr) minmax(115px,.7fr) minmax(135px,.8fr) minmax(195px,1fr)}#site-footer .footer-lockup{gap:14px}#site-footer .footer-wordmark img{width:178px}#site-footer .footer-tagline{font-size:19px}}
@media(max-width:1000px){#site-footer .footer-top{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.2fr);gap:30px}#site-footer .footer-identity{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:30px}#site-footer .footer-tagline{margin:0}#site-footer .footer-wordmark img{width:196px}}
@media(max-width:780px){#site-footer.footer-unified{padding-top:38px;padding-bottom:22px}#site-footer .footer-top{gap:26px}#site-footer .footer-contact-link strong{font-size:17px}#site-footer .footer-bottom{margin-top:26px;padding-right:55px}#site-footer .footer-top>div:last-child{grid-column:auto}}
@media(max-width:600px){#site-footer .footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 26px}#site-footer .footer-identity{grid-column:1/-1;display:block}#site-footer .footer-tagline{margin-top:17px;font-size:20px}#site-footer .footer-lockup{gap:18px}#site-footer .footer-wordmark img{width:190px}#site-footer .footer-top>div.footer-contact{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px}#site-footer .footer-contact h2,#site-footer .footer-contact p{grid-column:1/-1}#site-footer .footer-contact p{margin-top:6px}#site-footer .footer-contact-link{margin-bottom:6px}#site-footer .footer-bottom{flex-direction:column;align-items:start;gap:10px;margin-top:25px;padding-top:18px;padding-right:50px;font-size:12px}#site-footer h2{margin-bottom:12px}#site-footer .footer-links a{min-height:38px}}
@media(max-width:350px){#site-footer .footer-wordmark img{width:166px}#site-footer .footer-lockup{gap:14px}#site-footer .footer-contact-link strong{font-size:16px}#site-footer .footer-contact-link span{font-size:11px}#site-footer .footer-top{column-gap:20px}#site-footer .footer-contact{column-gap:20px}}
/* Larger touch targets on touch screens, without changing the layout. */
@media (pointer:coarse){.nav-toggle,.text-link,.contact-numbers a,.utility a{position:relative}.nav-toggle::after,.text-link::after,.contact-numbers a::after,.utility a::after{content:"";position:absolute}.nav-toggle::after{inset:-1px -4px -1px -3px}.text-link::after,.contact-numbers a::after{left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}.utility a::after{left:0;right:0;top:-11px;bottom:-11px}}
/* Menu page (menu.html): a menu board built from the homepage's own parts. Dishes are rows here; the homepage keeps its cards. */
.menu-hero{text-align:center;padding:clamp(56px,6vw,84px) var(--gutter) 46px}
.menu-hero .eyebrow{color:var(--red)}
.menu-hero h1{font-size:clamp(46px,5.4vw,78px)}
.menu-hero-lead{max-width:560px;margin:18px auto 0;font-size:18px;line-height:1.6;color:#5d5751}
.menu-hero-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:16px 28px;margin-top:26px}
.menu-hero-actions .button,.menu-cta-actions .button{font-size:15px;padding:15px 24px}
.menu-hero-actions .text-link{font-size:15px}
.menu-plates{display:flex;justify-content:center;margin-top:38px}
.menu-plates img{width:clamp(76px,8.5vw,116px);height:auto;aspect-ratio:1;border-radius:50%;object-fit:cover;border:5px solid #fff;box-shadow:0 10px 22px #4233241f;margin-left:-16px}
.menu-plates img:first-child{margin-left:0}
.menu-noscript{margin:28px 0 0;color:var(--muted)}
.photo-review-summary{margin:0;padding:12px var(--gutter);background:#fff4d6;color:#5c3d0c;font-size:14px;line-height:1.5;text-align:center}
.menu-jump{position:sticky;top:var(--header-height,0);z-index:15;padding:10px var(--gutter);background:#fffffff5;border-top:1px solid #eee;border-bottom:1px solid #eee;backdrop-filter:blur(15px)}
.menu-jump-links{position:relative;display:flex;justify-content:center;gap:9px;max-width:var(--container);margin:0 auto;overflow-x:auto;scrollbar-width:none}
.menu-jump-links::-webkit-scrollbar{display:none}
.menu-jump a{flex:none;display:flex;align-items:center;min-height:44px;padding:11px 18px;border:1px solid #d5cec5;border-radius:30px;background:white;font-size:15px;line-height:1.2;white-space:nowrap}
.menu-jump a:hover:not([aria-current]){background:var(--soft)}
.menu-jump a[aria-current]{background:var(--red);border-color:var(--red);color:white;font-weight:700}
.menu-page .combos{scroll-margin-top:-32px}
.menu-group{padding:84px var(--gutter) 0}
.menu-group:has(+ .combos){padding-bottom:84px}
.menu-opener{position:relative;max-width:var(--container);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:40px;background:var(--soft);border-radius:18px;padding:46px 40px 46px 56px}
.menu-opener.flip{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);padding:46px 56px 46px 40px}
.menu-opener.flip .menu-opener-photo{order:-1}
.menu-opener .eyebrow,.menu-extras-panel .eyebrow{color:var(--red);margin-bottom:16px}
.menu-opener h2,.menu-extras-panel h2{font-size:clamp(42px,4.6vw,66px)}
.menu-opener-lead{max-width:520px;margin:18px 0 0;font-size:17px;line-height:1.6;color:#5d5751}
.menu-subnav{margin:22px 0 0;font-size:15px;line-height:1.9;color:#8b8178}
.menu-subnav a{color:var(--black);border-bottom:1px solid #c9beb1}
.menu-subnav a:hover{color:var(--red);border-color:var(--red)}
.menu-opener-photo{justify-self:center;width:min(100%,340px);margin:-48px 0}
.menu-opener-photo img{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:50%;object-fit:cover;border:8px solid #fff;box-shadow:0 15px 35px #52301318}
.menu-sub{max-width:var(--container);margin:0 auto;padding-top:56px}
.menu-sub-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 18px;padding-bottom:12px;border-bottom:2px solid var(--black)}
.menu-sub-head h3{font-size:13px;letter-spacing:.14em;line-height:1.5;text-transform:uppercase;color:var(--red)}
.menu-sub-head p{margin:0;font-size:16px;line-height:1.5;color:#625c55}
.menu-sub>.dish-rows:first-child{border-top:2px solid var(--black)}
.dish-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px;margin:0;padding:0;list-style:none}
.dish-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:20px;align-items:start;padding:24px 0;border-bottom:1px dashed #c9beb1}
.dish-thumb{display:flex;align-items:center;justify-content:center;width:96px;aspect-ratio:1;border-radius:50%;overflow:hidden;border:4px solid #fff;background:#f0eae1;box-shadow:0 8px 18px #4233241f}
.dish-thumb img{width:100%;height:100%;object-fit:cover}
.dish-thumb.pending img{width:40px;height:40px;object-fit:contain;opacity:.35}
.photo-review{display:block;margin-top:8px;font-size:11px;line-height:1.3;text-align:center;color:#8a5a14}
.dish-row-line{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.dish-row-line h3,.dish-row-line h4{font-size:22px;letter-spacing:-.018em;line-height:1.2}
.dish-row-price{font-size:21px;line-height:1.2;color:var(--red);white-space:nowrap}
.dish-row-body>p{margin:6px 0 0;font-size:15px;line-height:1.5;color:#625c55}
.dish-row-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:12px;font-size:13px;line-height:1.4;color:#746a60}
.dish-row-tag{background:#f5f0e9;color:#675549;border-radius:4px;padding:4px 8px;font-size:12px}
.dish-row-ask{position:relative;margin-left:auto;color:var(--red);font-size:14px;font-weight:700;border-bottom:1px solid #cda9a0;padding-bottom:1px}
.dish-row-ask:hover{border-color:var(--red)}
.menu-extras-panel{max-width:var(--container);margin:0 auto;background:var(--soft);border-radius:18px;padding:48px 56px 40px}
.menu-extras-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px}
.menu-extras-columns .menu-sub{padding-top:32px}
.menu-extras-columns .menu-sub-head{display:block}
.menu-extras-columns .menu-sub-head p{min-height:3em;margin-top:4px}
.menu-list{margin:0;padding:0;list-style:none}
.menu-list li{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px dashed #c9beb1}
.menu-list-name{display:block;font-size:20px;font-weight:700;letter-spacing:-.018em;line-height:1.25}
.menu-list-detail{display:block;margin-top:4px;font-size:15px;line-height:1.5;color:#625c55}
.menu-list-price{font-size:19px;line-height:1.2;color:var(--red);white-space:nowrap}
.menu-cta{position:relative;isolation:isolate;overflow:hidden;margin-top:84px;padding:clamp(64px,6vw,96px) var(--gutter);background:#f6f3ee;text-align:center}
.menu-cta-mark{position:absolute;z-index:-1;top:-60px;right:-120px;width:520px;opacity:.04;pointer-events:none}
.menu-cta .eyebrow{color:var(--red)}
.menu-cta h2{font-size:clamp(46px,5.4vw,78px)}
.menu-cta p:not(.eyebrow){max-width:540px;margin:22px auto 0;font-size:17px;line-height:1.6;color:var(--muted)}
.menu-cta-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:28px}
.menu-cta .button.outline{background:transparent;border-color:#b3a69a;color:var(--black)}
.menu-cta .button.outline:hover{background:#e6dfd4}
@media(min-width:1600px){.menu-jump{padding-left:calc((100vw - 1440px)/2);padding-right:calc((100vw - 1440px)/2)}}
@media(max-width:1100px){.menu-jump-links{justify-content:start}.menu-opener,.menu-opener.flip{padding:40px 36px;gap:28px}.menu-extras-panel{padding:40px 36px 32px}}
@media(max-width:900px){.dish-rows,.menu-extras-columns{grid-template-columns:minmax(0,1fr)}.menu-extras-columns .menu-sub-head p{min-height:0}}
@media(max-width:780px){.menu-hero{padding:56px var(--gutter) 40px}.menu-hero-lead{font-size:16px}.photo-review-summary{padding:12px var(--gutter)}.menu-jump{padding:8px var(--gutter)}.menu-jump-links{margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter)}.menu-group{padding:72px var(--gutter) 0}.menu-group:has(+ .combos){padding-bottom:72px}.menu-opener,.menu-opener.flip{grid-template-columns:minmax(0,1fr);padding:0 24px 30px;gap:18px}.menu-opener-photo,.menu-opener.flip .menu-opener-photo{order:-1;width:min(60vw,230px);margin:-46px auto 0}.menu-opener-lead{font-size:16px}.menu-sub{padding-top:44px}.dish-row{grid-template-columns:72px minmax(0,1fr);gap:16px;padding:20px 0}.dish-thumb{width:72px;border-width:3px}.dish-row-line h3,.dish-row-line h4{font-size:20px}.dish-row-price{font-size:19px}.dish-row-ask{margin-left:0}.menu-extras-panel{padding:32px 24px 24px;border-radius:14px}.menu-cta{margin-top:72px;padding:64px var(--gutter)}.menu-cta-mark{width:340px;right:-110px}}
@media (pointer:coarse){.dish-row-ask::after{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}}
/* Contact page (contact.html): the homepage's contact and branch sections given a page of their own. The branch directory reuses the #locations styles. */
.contact-hero{position:relative;isolation:isolate;overflow:hidden;text-align:center;background:#f6f3ee;padding:clamp(56px,6vw,88px) var(--gutter) clamp(56px,6vw,80px)}
.contact-hero .eyebrow,.contact-menu-prompt .eyebrow{color:var(--red)}
.contact-hero h1{font-size:clamp(50px,6vw,85px)}
.contact-hero-lead{max-width:560px;margin:22px auto 0;font-size:18px;line-height:1.6;color:var(--muted)}
.contact-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:var(--container);margin:44px auto 0;text-align:left}
.contact-channel{position:relative;display:flex;flex-direction:column;align-items:start;background:#fff;border:1px solid #e7e0d8;border-radius:18px;padding:34px 34px 32px}
.contact-channel-badge{position:absolute;top:28px;right:28px;width:64px;height:64px;padding:12px;border-radius:50%;background:#fff;box-shadow:0 0 0 6px #9a181507,0 8px 18px #4233241a}
.contact-channel-badge img,.contact-channel-badge svg{width:100%;height:100%;object-fit:contain}
.contact-channel-badge.whatsapp{color:#126e45;box-shadow:0 0 0 6px #126e4510,0 8px 18px #4233241a}
.contact-channel h2{margin:0 90px 14px 0;font-size:12px;letter-spacing:.12em;line-height:1.5;text-transform:uppercase;color:var(--muted)}
.contact-channel-number{font-size:clamp(34px,3.6vw,44px);font-weight:700;letter-spacing:-.035em;line-height:1.1;color:var(--red)}
.contact-channel-number:hover{text-decoration:underline}
.contact-channel-hours{margin:12px 0 24px;font-size:15px;color:var(--muted)}
.contact-channel .button,.contact-menu-prompt .button{margin-top:auto;font-size:15px;padding:15px 24px}
.contact-social{margin:30px 0 0;font-size:16px;color:var(--muted)}
.contact-social a{color:var(--black);border-bottom:1px solid #c9beb1}
.contact-social a:hover{color:var(--red);border-color:var(--red)}
.contact-menu-prompt{text-align:center;padding:clamp(64px,6vw,96px) var(--gutter)}
.contact-menu-prompt .menu-plates{margin:0 0 32px}
.contact-menu-prompt h2{font-size:clamp(42px,4.6vw,66px)}
.contact-menu-prompt .button{margin-top:28px}
@media(max-width:780px){.contact-hero{padding:56px var(--gutter) 60px}.contact-hero-lead{font-size:16px}.contact-channels{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:34px}.contact-channel{padding:28px 24px}.contact-channel-badge{top:22px;right:22px;width:56px;height:56px;padding:10px}.contact-menu-prompt{padding:64px var(--gutter)}}
@media (pointer:coarse){.contact-social a{position:relative}.contact-social a::after{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}}
/* Site redesign (proposal, 18 Oct 2026; revised the same day): dark and red page banners, ChopShop's logo typeface for display headings, plate-like circles, the steam motif from ChopShop's social posts, and photography of people. Stock photos carry data-stock="key"; each key is one file in the stock image register, so a photo can be replaced without touching the section. */
.stock-photo{position:relative;overflow:hidden;margin:0;background:#2b2724}
.stock-photo>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--focus,50% 50%)}

/* Page banner (About, Menu, Contact): the homepage hero's dark stage with one arched photograph. */
.page-banner{position:relative;isolation:isolate;overflow:hidden;background:#111;color:#fff}
.page-banner:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 100% 88%,#9a181588 0%,transparent 55%),radial-gradient(ellipse at -10% 0%,#9a181538 0%,transparent 45%)}
.page-banner-inner{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:4vw;align-items:end;min-height:clamp(520px,42vw,610px);padding:0 var(--frame)}
.page-banner-copy{align-self:center;max-width:640px;padding:56px 0 68px}
.page-banner .eyebrow{font-size:13px;letter-spacing:.12em;color:#e7aaa3;margin:0 0 22px}
.page-banner h1{font-size:clamp(56px,6.3vw,96px);line-height:.95;letter-spacing:-.035em;color:#fff;margin:0}
.page-banner h1 span{color:#ed7971}
.page-banner-lead{max-width:460px;margin:26px 0 0;font-size:19px;line-height:1.55;color:#ded8d2}
.page-banner-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.page-banner-actions .button{font-size:16px;min-height:52px;padding:15px 26px}
.page-banner-actions .button:not(.outline){background:var(--red);border-color:#c34a42}
.page-banner-actions .button:not(.outline):hover{background:#b1241e;border-color:#dd685f}
.page-banner-frame{position:relative;justify-self:end;width:min(100%,470px);margin-top:56px}
.page-banner-frame:before{content:'';position:absolute;inset:-18px -18px 0;border:1px solid #ed797155;border-bottom:0;border-radius:999px 999px 0 0;pointer-events:none}
.page-banner-art{aspect-ratio:5 / 6;border-radius:999px 999px 0 0}
.page-banner .menu-plates{justify-content:flex-start;margin-top:36px}
.page-banner .menu-plates img{width:clamp(62px,5.6vw,84px);border:4px solid #111;box-shadow:none}
.page-banner .menu-noscript{color:#ded8d2}
.page-banner .menu-noscript a{color:#fff}
@media(max-width:1100px){.page-banner h1{font-size:clamp(52px,6.6vw,74px)}.page-banner-lead{font-size:18px}}
@media(max-width:760px){.page-banner-inner{display:block;min-height:0;padding:0 var(--gutter)}.page-banner-copy{max-width:none;padding:36px 0 44px}.page-banner h1{font-size:clamp(50px,13vw,72px)}.page-banner-frame{width:100%;margin:12px 0 0}.page-banner-frame:before{inset:-12px -12px 0}.page-banner-art{aspect-ratio:1 / 1}}

/* Locations: a photograph beside the directory, which keeps its behaviour. */
#locations.locations-split{padding-left:var(--gutter);padding-right:var(--gutter)}
#locations .locations-split-inner{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(40px,5.5vw,88px);align-items:start;max-width:var(--container);margin:0 auto}
#locations .locations-aside{position:sticky;top:132px}
#locations.locations-split .locations-intro{display:block;max-width:none;margin:0 0 32px}
#locations.locations-split .locations-overview{max-width:440px;padding:0;margin-top:24px}
#locations .locations-photo{aspect-ratio:5 / 4;border-radius:6px}
#locations.locations-split .locations-list{max-width:none;margin:0}
#locations.locations-split .branch-card summary{grid-template-columns:minmax(0,1fr) auto 128px;gap:20px;padding:24px 18px}
#locations.locations-split .branch-card summary h3{font-size:clamp(24px,2.2vw,30px)}
#locations.locations-split .branch-panel{grid-template-columns:minmax(0,1fr) minmax(190px,1fr);gap:24px;padding:8px 18px 28px}
#locations.locations-split .branch-map{grid-column:1/-1;min-height:96px;max-height:none;flex-direction:row;align-items:center;justify-content:space-between;padding:20px}
#locations.locations-split .branch-actions{max-width:none}
@media(max-width:900px){#locations .locations-split-inner{grid-template-columns:minmax(0,1fr);gap:36px}#locations .locations-aside{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:28px;align-items:end}#locations.locations-split .locations-intro{margin:0}#locations .locations-photo{aspect-ratio:4 / 3}}
@media(max-width:780px){#locations.locations-split .branch-card summary{grid-template-columns:minmax(0,1fr) auto;gap:10px 22px;padding:25px 15px}}
@media(max-width:600px){#locations .locations-aside{display:block}#locations .locations-photo{aspect-ratio:16 / 10;margin-top:28px}}

/* Homepage contact: the approved copy and numbers, with a photograph of someone ordering by phone. */
#contact.contact-feature{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,96px);align-items:center;padding:clamp(76px,7vw,108px) var(--frame)}
#contact .contact-feature-copy{width:100%;max-width:520px;justify-self:start}
#contact.contact-feature h2{margin-bottom:24px}
#contact .contact-feature-media{position:relative;justify-self:end;width:100%;max-width:640px;padding:0 0 44px 56px}
#contact .contact-feature-photo{aspect-ratio:4 / 3;border-radius:6px}
#contact.contact-feature .contact-numbers{position:absolute;left:0;bottom:0;z-index:1;width:min(330px,60%);min-width:0;padding:60px 28px 24px;background:#fff;border-radius:6px}
#contact.contact-feature .contact-numbers>.call-badge{top:18px;right:20px;width:52px;height:52px;padding:8px}
#contact.contact-feature .contact-numbers>div:not(.call-badge){padding:16px 0}
#contact.contact-feature .contact-numbers a{font-size:28px}
#contact.contact-feature .contact-numbers p{margin-top:16px}
@media(max-width:900px){#contact.contact-feature{grid-template-columns:minmax(0,1fr);gap:44px}#contact .contact-feature-copy{justify-self:start;max-width:600px}#contact .contact-feature-media{max-width:none;padding:0}#contact.contact-feature .contact-numbers{position:relative;width:auto;margin:-56px 20px 0}}
@media(max-width:780px){#contact.contact-feature .contact-numbers{padding:26px 26px 22px}}
@media(max-width:600px){#contact.contact-feature{padding:60px var(--gutter) 64px}#contact.contact-feature .contact-numbers{grid-template-columns:minmax(0,1fr);margin:-40px 12px 0;padding:22px 22px 20px}#contact.contact-feature .contact-numbers a{font-size:26px}}

/* Contact page: the channel cards rise over the banner's lower edge. */
.contact-channels-band{background:#f6f3ee;text-align:center;padding:0 var(--gutter) clamp(56px,6vw,84px)}
.contact-channels-band .contact-channels{position:relative;z-index:1;margin:-44px auto 0}
@media(max-width:760px){.contact-channels-band{padding:0 var(--gutter) 60px}.contact-channels-band .contact-channels{margin-top:-28px}}

/* Quick Combos on phones: the single column can no longer grow to the artwork's 430px, which pushed the heading off-centre below about 470px. */
@media(max-width:780px){#quick-combos .combo-stage{grid-template-columns:minmax(0,1fr)}}

/* Photo review (?photos on any page): stock photographs are labelled with their register key. */
.photo-review-on .stock-photo,.photo-review-on [data-stock]{outline:3px dashed #e8b10d;outline-offset:-3px}
.stock-label{position:absolute;left:10px;top:10px;z-index:5;padding:4px 8px;border-radius:3px;background:#e8b10d;color:#111;font-size:12px;font-weight:700;line-height:1.3;letter-spacing:0}

/* Brand voice (revision): Regatto, the typeface of the ChopShop wordmark, sets the display headings. Myriad stays for text, labels, buttons and prices (Regatto has no cedi sign). To go back to Myriad headings, point --display at var(--font). */
@font-face{font-family:'Regatto';src:url('assets/fonts/regatto.woff2') format('woff2'),url('assets/fonts/regatto.woff') format('woff');font-weight:700;font-style:normal;font-display:swap}
:root{--display:'Regatto',Georgia,'Times New Roman',serif;--wine:#5e100d;--ink:#1b1512;--paper:#fff8ee;--blush:#ffcdc5}
#hero .hero-copy h1,.menu-gallery .section-top h2,.specials-heading h2,#quick-combos .combo-heading h2,#locations .locations-intro h2,#contact.contact-feature h2,.page-banner h1,.menu-opener-copy h2,.menu-extras-panel h2,.menu-cta h2{font-family:var(--display);font-weight:700;letter-spacing:-.012em}
#hero .hero-copy h1{font-size:clamp(58px,6.4vw,94px);line-height:1}
.menu-gallery .section-top h2,.specials-heading h2,#locations .locations-intro h2{line-height:1.02}
#quick-combos .combo-heading h2{letter-spacing:-.02em;line-height:1}
.page-banner h1{line-height:1}

/* The floating WhatsApp button is gone (a WordPress plugin will replace it), so the footer no longer keeps room for it. */
#site-footer .footer-bottom{padding-right:0}

/* Shared devices: plate-like photo circles, a rotating stamp, the steam motif from ChopShop's social posts, and a scrolling marquee. */
.plate{position:relative;margin:0;border-radius:50%;overflow:hidden;background:#2b2724;box-shadow:0 0 0 var(--rim,8px) var(--rim-color,var(--paper))}
.plate>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--focus,50% 50%)}
.plate.art{background:#fbe6d4}
.plate.art>img{object-fit:contain;padding:17%}
.stamp{position:relative;display:grid;place-items:center;width:var(--stamp,150px);aspect-ratio:1;border-radius:50%;background:var(--paper);color:var(--red)}
.stamp svg{position:absolute;inset:0;width:100%;height:100%;animation:stamp-spin 26s linear infinite}
.stamp text{font-family:var(--font);font-size:15.5px;font-weight:700;letter-spacing:.1em;fill:currentColor}
.stamp img{width:36%;height:auto}
@keyframes stamp-spin{to{transform:rotate(360deg)}}
.steam-mark{position:absolute;z-index:-1;pointer-events:none;aspect-ratio:949 / 910;background:var(--steam,#ffffff14);-webkit-mask:url('assets/pot-mark-mask.png') center / contain no-repeat;mask:url('assets/pot-mark-mask.png') center / contain no-repeat}
.marquee{overflow:hidden;--speed:46s}
.marquee-track{display:flex;align-items:center;width:max-content;animation:marquee var(--speed) linear infinite}
.marquee.reverse .marquee-track{animation-direction:reverse}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){.stamp svg,.marquee-track{animation:none}.marquee{overflow-x:auto}}
.call-pill{display:inline-flex;align-items:center;gap:12px;padding:10px 26px 10px 10px;border-radius:999px;background:#fff;color:var(--red);font-size:clamp(24px,2.3vw,32px);font-weight:700;letter-spacing:-.01em;line-height:1;white-space:nowrap}
.call-pill svg{flex:none;width:40px;height:40px}
.call-pill:hover{background:#ffe9e4}

/* Homepage: "ChopShop dey for you". The occasions from ChopShop's own post, each with a dish to try and a WhatsApp message that names the occasion. */
#about.moments{position:relative;isolation:isolate;overflow:hidden;background:var(--red);color:var(--paper);padding:clamp(76px,7vw,108px) 0 clamp(64px,6vw,92px)}
.moments .steam-mark.one{width:min(72vw,900px);left:-16%;top:-26%;transform:rotate(-14deg)}
.moments .steam-mark.two{width:min(46vw,560px);right:-9%;bottom:-20%;transform:rotate(12deg)}
.moments-head{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:26px 6vw;align-items:end;padding:0 var(--frame)}
.moments .eyebrow{font-size:13px;letter-spacing:.14em;color:#ffd6cf;margin:0 0 18px}
.moments h2{font-family:var(--display);font-size:clamp(52px,5.7vw,88px);line-height:.95;letter-spacing:-.012em;margin:0;color:var(--paper)}
.moments h2 span{color:var(--blush)}
.moments-lead{max-width:430px;margin:0;font-size:19px;line-height:1.55;color:#ffe9e4}
.moments-controls{display:flex;gap:10px;margin-top:26px}
.moments-controls button{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1.5px solid #ffffff8c;background:transparent;color:#fff;cursor:pointer;padding:0}
.moments-controls button:hover:not(:disabled){background:#ffffff1f;border-color:#fff}
.moments-controls button:disabled{opacity:.35;cursor:default}
.moments-controls svg{width:20px;height:20px}
.moments-call .stamp{flex:none;--stamp:120px}
.moments-rail{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(272px,23.5vw,316px);gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--frame);padding:0 var(--frame);margin:64px 0;scrollbar-width:thin;scrollbar-color:#ffffff73 transparent;cursor:grab}
.moments-rail.dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.moments-rail.dragging a{pointer-events:none}
.moments-rail:focus-visible{outline:3px solid #fff;outline-offset:-3px}
.moment{position:relative;display:flex;flex-direction:column;min-height:490px;padding:26px 24px 24px;border-radius:22px;background:var(--paper);color:var(--ink);scroll-snap-align:start}
.moment.dark{background:var(--ink);color:var(--paper)}
.moment-num{font-family:var(--display);font-size:22px;line-height:1;color:var(--red)}
.moment.dark .moment-num{color:#ed7971}
.moment h3{font-family:var(--display);font-size:clamp(28px,2.25vw,33px);line-height:1;letter-spacing:-.012em;margin:12px 0 10px}
.moment-line{margin:0;font-size:16px;line-height:1.5;color:#5d5650}
.moment.dark .moment-line{color:#dcd2c9}
.moment .plate{width:176px;aspect-ratio:1;margin:24px auto 24px;--rim:7px;--rim-color:#f0e2d3}
.moment.dark .plate{--rim-color:#3b2f2a}
.moment-try{margin:auto 0 0;font-size:14.5px;line-height:1.45;color:#4b443e}
.moment-try b{display:block;margin-bottom:4px;font-size:11px;letter-spacing:.14em;color:var(--red)}
.moment.dark .moment-try{color:#ece3da}
.moment.dark .moment-try b{color:#ed7971}
.moment-order{align-self:flex-start;margin-top:16px;padding-bottom:3px;font-size:15px;font-weight:700;color:var(--red);border-bottom:1.5px solid currentColor}
.moment.dark .moment-order{color:#fff}
.moment-order:hover{color:var(--ink)}
.moment.dark .moment-order:hover{color:#ffcdc5}
.moments-call{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px 28px;padding:0 var(--frame);text-align:center}
.moments-call p{margin:0;font-family:var(--display);font-size:clamp(30px,3.1vw,44px);line-height:1.08;color:var(--paper)}

@media(max-width:900px){.moments-head{grid-template-columns:minmax(0,1fr);gap:22px}.moments-call .stamp{--stamp:104px}}
@media(max-width:600px){#about.moments{padding:60px 0 56px}.moments-head{padding:0 var(--gutter)}.moments h2{font-size:clamp(50px,14vw,70px)}.moments-call .stamp{--stamp:86px}.moments-controls{display:none}.moments-rail{grid-auto-columns:80vw;padding:32px var(--gutter) 26px;scroll-padding-inline:var(--gutter)}.moment{min-height:460px}.moments-call{padding:0 var(--gutter)}.call-pill{font-size:24px}}

/* Menu page: the combos join the Starters & Afro Pies group as a short list, and a guide sends each occasion to the right part of the menu. */
.menu-combos .menu-sub-head p{max-width:520px}
.menu-moments{position:relative;isolation:isolate;overflow:hidden;background:var(--red);color:var(--paper);padding:clamp(64px,6vw,92px) var(--gutter)}
.menu-moments .steam-mark{width:min(60vw,760px);right:-12%;top:-30%;transform:rotate(10deg)}
.menu-moments-inner{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:34px 5vw;align-items:center;max-width:var(--container);margin:0 auto}
.menu-moments .eyebrow{font-size:13px;letter-spacing:.14em;color:#ffd6cf;margin:0 0 16px}
.menu-moments h2{font-family:var(--display);font-size:clamp(46px,5vw,76px);line-height:.98;margin:0;color:var(--paper)}
.menu-moments h2 span{color:var(--blush)}
.menu-moments-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.menu-moments-list a{display:flex;flex-direction:column;align-items:flex-start;gap:6px;height:100%;padding:16px 20px 15px;border-radius:14px;background:#ffffff14;border:1px solid #ffffff38;color:var(--paper);transition:background .2s,border-color .2s}
.menu-moments-list a:hover{background:var(--paper);border-color:var(--paper);color:var(--red)}
.menu-moments-list b{font-family:var(--display);font-size:clamp(22px,1.9vw,27px);font-weight:700;line-height:1.1}
.menu-moments-list span{flex:none;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.85}
.menu-moments-list li:last-child:nth-child(odd){grid-column:1/-1}
.menu-moments-call{grid-column:1/-1;margin:6px 0 0;font-size:17px;color:#ffe9e4}
.menu-moments-call a{color:#fff;font-weight:700;border-bottom:1.5px solid #ffffff99}
@media(max-width:900px){.menu-moments-inner{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){.menu-moments{padding:56px var(--gutter)}.menu-moments-list{grid-template-columns:minmax(0,1fr)}.menu-moments-list li:last-child:nth-child(odd){grid-column:auto}}

/* Red page banner (Contact): ChopShop's social-post look, with the steam motif. */
.page-banner.red{background:var(--red)}
.page-banner.red:before{background:none}
.page-banner.red .steam-mark.one{width:min(62vw,780px);left:-14%;top:-30%;transform:rotate(-12deg)}
.page-banner.red .steam-mark.two{width:min(34vw,420px);right:38%;bottom:-26%;transform:rotate(14deg)}
.page-banner.red .eyebrow{color:#ffd6cf}
.page-banner.red h1 span{color:var(--blush)}
.page-banner.red .page-banner-lead{color:#ffe9e4}
.page-banner.red .page-banner-frame:before{border-color:#fff8ee80}
.contact-channel-note{margin:-6px 0 16px;font-size:14px;font-weight:700;line-height:1.4;color:var(--red)}

/* About page. */
.about-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--red);color:var(--paper)}
.about-hero .steam-mark.one{width:min(66vw,840px);left:-18%;top:-28%;transform:rotate(-14deg)}
.about-hero .steam-mark.two{width:min(30vw,380px);left:36%;bottom:-24%;transform:rotate(10deg)}
.about-hero-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:4vw;align-items:center;min-height:clamp(560px,45vw,660px);padding:40px var(--frame) 56px}
.about-hero .eyebrow{font-size:13px;letter-spacing:.14em;color:#ffd6cf;margin:0 0 20px}
.about-hero h1{font-family:var(--display);font-size:clamp(48px,4.6vw,72px);line-height:.98;letter-spacing:-.012em;margin:0;color:var(--paper)}
.about-hero h1 span{display:block;color:var(--blush)}
.about-hero-lead{max-width:470px;margin:26px 0 0;font-size:19px;line-height:1.55;color:#ffe9e4}
.about-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.about-hero-actions .button{font-size:16px;min-height:52px;padding:15px 26px}
.about-hero-actions .button.light{background:var(--paper);border-color:var(--paper);color:var(--red)}
.about-hero-actions .button.light:hover{background:#fff}
.about-hero-art{position:relative;justify-self:center;width:100%;max-width:600px;aspect-ratio:1}
.about-hero-art .plate.xl{position:absolute;left:12%;top:8%;width:70%;aspect-ratio:1;--rim:12px}
.about-hero-art .plate.md{position:absolute;left:0;bottom:1%;width:33%;aspect-ratio:1;--rim:8px}
.about-hero-art .plate.sm{position:absolute;right:1%;top:0;width:24%;aspect-ratio:1;--rim:7px}
.about-hero-art .stamp{position:absolute;right:3%;bottom:6%;--stamp:27%}


.about-intro{position:relative;background:var(--cream,#f6f3ee);text-align:center;padding:clamp(84px,8vw,124px) var(--gutter) clamp(76px,7vw,108px)}
.about-intro h2{max-width:980px;margin:0 auto;font-family:var(--display);font-size:clamp(40px,4.6vw,68px);line-height:1.04;letter-spacing:-.012em;color:var(--red)}
.about-intro-text{max-width:640px;margin:28px auto 0;font-size:19px;line-height:1.65;color:#5f5852}
.about-intro>.button{margin-top:32px;font-size:16px;min-height:52px;padding:15px 28px}
.about-numbers{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;max-width:1000px;margin:76px auto 0;padding:0}
.about-numbers>li{position:relative;flex:none;width:var(--d,220px);aspect-ratio:1;border-radius:50%;margin:0 -9px;transform:translateY(var(--y,0px));container-type:inline-size}
.about-numbers .num{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 calc(var(--d,220px) * .13);text-align:center;background:var(--bg,var(--red));color:var(--fg,var(--paper));box-shadow:inset 0 0 0 9px var(--bg,var(--red)),inset 0 0 0 10.5px #ffffff80}
.about-numbers .num strong{font-family:var(--display);font-size:38cqi;line-height:.9;font-weight:700}
.about-numbers .num span{margin-top:6px;font-size:max(13px,7.4cqi);line-height:1.25;font-weight:600}
.about-numbers .num.ink{--bg:var(--ink)}
.about-numbers .num.wine{--bg:var(--wine)}
.about-numbers .num.paper{--bg:#fff;--fg:var(--red);box-shadow:inset 0 0 0 9px #fff,inset 0 0 0 10.5px #9a181566}
.about-numbers .photo{overflow:hidden;box-shadow:0 0 0 8px var(--cream,#f6f3ee)}
.about-numbers .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--focus,50% 50%)}
.about-moments{position:relative;isolation:isolate;overflow:hidden;background:var(--red);color:var(--paper);padding:clamp(76px,7vw,108px) 0}
.about-moments .steam-mark{width:min(58vw,720px);right:-12%;top:-34%;transform:rotate(12deg)}
.about-moments h2{margin:0 var(--gutter) 48px;text-align:center;font-family:var(--display);font-size:clamp(40px,4.8vw,72px);line-height:1;letter-spacing:-.012em;color:var(--paper)}
.about-moments h2 span{color:var(--blush)}
.moments-marquee{padding:8px 0}
.moments-marquee .marquee-track{gap:34px}
.moments-marquee .word{font-family:var(--display);font-size:clamp(46px,5.6vw,86px);line-height:1.08;white-space:nowrap;color:var(--paper)}
.moments-marquee .word.outline{color:transparent;-webkit-text-stroke:1.5px var(--paper)}
.moments-marquee .plate{flex:none;width:clamp(82px,7.6vw,118px);aspect-ratio:1;--rim:5px}
.about-moments-note{margin:44px var(--gutter) 0;text-align:center;font-size:18px;line-height:1.6;color:#ffe9e4}
.about-moments-note a{color:#fff;font-weight:700;border-bottom:1.5px solid #ffffff99}
.about-promise{background:var(--ink);color:#f4ece3;padding:clamp(84px,8vw,124px) var(--gutter)}
.about-promise-inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:44px 7vw;align-items:center;max-width:var(--container);margin:0 auto}

.about-promise-statement{margin:0;font-family:var(--display);font-size:clamp(30px,3.2vw,46px);line-height:1.15;color:var(--paper)}
.about-promise-detail{max-width:560px;margin:24px 0 0;font-size:18px;line-height:1.65;color:#cfc4b9}
.about-promise-photo{aspect-ratio:4 / 5;border-radius:999px 999px 18px 18px}
.about-promise-vision{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 48px;align-items:end;margin-top:clamp(28px,4vw,56px);padding-top:clamp(40px,5vw,64px);border-top:1px solid #ffffff24}
.about-promise-vision p{margin:0;font-family:var(--display);font-size:clamp(44px,6.2vw,100px);line-height:.98;letter-spacing:-.012em;color:var(--paper)}
.about-promise-vision p small{display:block;margin-bottom:10px;font-size:.36em;line-height:1.1;color:#f4ece3}
.about-promise-vision p span{display:block;color:#ed7971}
.vision-mark{display:block;width:clamp(90px,10vw,150px);aspect-ratio:949 / 910;background:#ed7971;-webkit-mask:url('assets/pot-mark-mask.png') center / contain no-repeat;mask:url('assets/pot-mark-mask.png') center / contain no-repeat}
.about-recipe{position:relative;isolation:isolate;overflow:hidden;background:var(--red);padding:clamp(84px,8vw,124px) var(--gutter)}
.about-recipe .steam-mark.one{width:min(56vw,700px);left:-14%;bottom:-30%;transform:rotate(-10deg)}
.about-recipe .steam-mark.two{width:min(40vw,500px);right:-10%;top:-22%;transform:rotate(12deg)}
.recipe-card{position:relative;max-width:var(--container);margin:0 auto;padding:clamp(44px,5vw,72px) clamp(24px,5vw,72px);border-radius:28px;background:var(--paper);text-align:center;box-shadow:inset 0 0 0 10px var(--paper),inset 0 0 0 11.5px #9a181559}
.recipe-card .eyebrow{color:var(--red)}
.recipe-card h2{margin:0;font-family:var(--display);font-size:clamp(40px,4.6vw,66px);line-height:1;letter-spacing:-.012em;color:var(--red)}
.recipe-sub{margin:14px 0 0;font-size:18px;color:#5f5852}
.recipe-list{list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:40px 34px;margin:clamp(40px,4.4vw,60px) 0 0;padding:0;text-align:left}
.recipe-list li{grid-column:span 2;padding-top:22px;border-top:1.5px solid #9a181533}
.recipe-list li:nth-child(4){grid-column:2/span 2}
.recipe-list li:nth-child(5){grid-column:4/span 2}
.recipe-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.recipe-num{font-family:var(--display);font-size:28px;line-height:1;color:#9a18158c}
.recipe-icon{width:46px;height:46px;color:var(--red)}
.recipe-list h3{margin:14px 0 10px;font-family:var(--display);font-size:clamp(26px,2.3vw,32px);line-height:1.05;letter-spacing:-.01em;color:var(--ink)}
.recipe-list p{margin:0;font-size:16px;line-height:1.6;color:#5d5751}
.recipe-plate{position:absolute;z-index:1;width:clamp(140px,15vw,220px);aspect-ratio:1;--rim:9px}
.recipe-plate.one{left:max(1.5vw,calc(50% - 690px));top:56px}
.recipe-plate.two{right:max(1.5vw,calc(50% - 700px));bottom:64px}
.about-neighbour{position:relative;isolation:isolate;overflow:hidden;background:var(--wine);color:#fff4ec;padding:clamp(84px,8vw,128px) var(--gutter)}
.about-neighbour .blob{position:absolute;z-index:-1;width:min(70vw,900px);height:auto;left:-18%;top:-24%;color:#6c1512}
.neighbour-inner{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:44px 7vw;align-items:center;max-width:var(--container);margin:0 auto}
.neighbour-mark{position:relative;display:grid;place-items:center;justify-self:start;width:100%;max-width:430px;aspect-ratio:1;border-radius:50%;background:#741714;box-shadow:inset 0 0 0 14px #741714,inset 0 0 0 16px #ed797159}
.neighbour-mark svg{width:56%;height:auto;color:#ed7971}
.neighbour-mark small{position:absolute;bottom:17%;font-size:11px;font-weight:700;letter-spacing:.18em;color:#f3b5ac}
.neighbour-copy .eyebrow{color:#f3b5ac}
.neighbour-copy h2{margin:0;font-family:var(--display);font-size:clamp(44px,4.5vw,70px);line-height:.98;letter-spacing:-.012em;color:var(--paper)}
.neighbour-copy h2 span{color:#ed7971}
.neighbour-copy p{max-width:540px;margin:24px 0 0;font-size:19px;line-height:1.65;color:#f0d9d2}
.neighbour-copy p.neighbour-note{font-size:16px;color:#d8b3aa}
.neighbour-copy .button{margin-top:30px;font-size:16px;min-height:52px;padding:15px 26px;background:var(--paper);border-color:var(--paper);color:var(--wine)}
.neighbour-copy .button:hover{background:#fff}
@media(max-width:1100px){.recipe-plate{display:none}}
@media(max-width:900px){.about-hero-inner{grid-template-columns:minmax(0,1fr);gap:28px;padding:40px var(--gutter) 56px}.about-hero-art{max-width:520px}.about-promise-inner{grid-template-columns:minmax(0,1fr)}.about-promise-photo{aspect-ratio:4 / 3;border-radius:999px 999px 18px 18px;max-width:560px}.neighbour-inner{grid-template-columns:minmax(0,1fr)}.neighbour-mark{max-width:300px}.recipe-list{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-list li,.recipe-list li:nth-child(4){grid-column:span 1}.recipe-list li:nth-child(5){grid-column:1/-1}}
@media(max-width:700px){.about-numbers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;justify-items:center}.about-numbers>li{width:min(100%,190px);margin:0;transform:none}.about-numbers>li:last-child:nth-child(odd){grid-column:1/-1}}
@media(max-width:600px){.about-hero-inner{padding:32px var(--gutter) 48px}.about-hero h1{font-size:clamp(40px,11.4vw,58px)}.about-intro{padding:72px var(--gutter) 68px}.about-moments h2{margin:0 var(--gutter) 36px}.about-promise{padding:72px var(--gutter)}.about-promise-vision{grid-template-columns:minmax(0,1fr)}.about-recipe{padding:64px 4vw}.recipe-card{border-radius:22px}.recipe-list{grid-template-columns:minmax(0,1fr)}.recipe-list li:nth-child(5){grid-column:auto}.about-neighbour{padding:72px var(--gutter)}}

/* Closing links (About and Contact): two moving rows in the logo typeface, with plates and stamps. */
.kinetic{background:var(--cream,#f6f3ee);padding:clamp(56px,6vw,88px) 0}
.kinetic-row{display:block;padding:22px 0;color:var(--red);border-bottom:1px solid #9a181533}
.kinetic-row:first-child{border-top:1px solid #9a181533}
.kinetic-row .marquee-track{gap:clamp(22px,3vw,40px)}
.kinetic-word{font-family:var(--display);font-size:clamp(56px,7.2vw,112px);line-height:1.08;white-space:nowrap;transition:color .2s}
.kinetic-row .plate{flex:none;width:clamp(90px,9vw,140px);aspect-ratio:1;--rim:0px}
.kinetic-badge{flex:none;display:grid;place-items:center;width:clamp(108px,10vw,150px);aspect-ratio:1;padding:16px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 6px #fff,inset 0 0 0 7.5px var(--red);text-align:center;font-size:12px;font-weight:700;letter-spacing:.1em;line-height:1.35;color:var(--red)}
.kinetic-row:hover .kinetic-word{color:var(--ink)}
.kinetic-row:focus-visible{outline:3px solid var(--red);outline-offset:-3px}
@media(max-width:600px){.kinetic{padding:44px 0}.kinetic-row{padding:16px 0}}

/* Homepage hero (revision 3): a cut-out plate that spins in on each slide, rising steam, a "from" price stamp and a column of plate thumbnails with a progress ring, on the brand's dark stage. */
#hero.hero-v3{min-height:clamp(640px,51vw,760px)}
#hero.hero-v3 .steam-mark{--steam:#9a18151f}
#hero.hero-v3 .steam-mark.one{width:min(54vw,680px);left:-14%;bottom:-34%;transform:rotate(-12deg)}
#hero.hero-v3 .steam-mark.two{width:min(30vw,380px);left:38%;top:-30%;transform:rotate(14deg)}
#hero.hero-v3 .hero-stage{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:2vw;min-height:clamp(640px,51vw,760px);max-width:none;margin:0;padding:0 calc(var(--frame) + 100px) 0 var(--frame)}
#hero.hero-v3 .hero-copy{width:auto;padding:60px 0 70px;align-self:center}
#hero.hero-v3 .hero-copy h1{font-size:clamp(56px,5.6vw,92px);line-height:1;min-height:3em}
#hero.hero-v3 .hero-copy .intro{max-width:420px;margin:24px 0 32px}
#hero.hero-v3 .hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
#hero.hero-v3 .hero-secondary{font-size:18px;min-height:56px;padding:17px 26px;border-radius:3px;background:transparent;border:1.5px solid #ffffff59;color:#fff}
#hero.hero-v3 .hero-secondary:hover{background:#ffffff14;border-color:#fff}
#hero.hero-v3 .hero-art{position:relative;inset:auto;width:100%;max-width:680px;aspect-ratio:1;justify-self:center;padding:0;overflow:visible;pointer-events:none}
#hero.hero-v3 .hero-layer{position:absolute;inset:0;display:grid;place-items:center;transform:translate3d(calc(var(--mx,0) * var(--d,0) * 1px),calc(var(--my,0) * var(--d,0) * 1px),0);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
#hero.hero-v3 .hero-halo{width:98%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#9a1815 0%,#82120f 50%,#9a181500 71%);outline:1px solid #ed797138;outline-offset:-4%}
#hero.hero-v3 .hero-art img.hero-plate{position:relative;inset:auto;top:auto;left:auto;width:84%;height:auto;max-width:none;aspect-ratio:1;object-fit:contain;clip-path:none;border-radius:50%;transform:none;filter:drop-shadow(0 26px 34px #0009)}
#hero.hero-v3 .hero-steam-layer{place-items:start center}
#hero.hero-v3 .hero-steam{width:34%;margin-top:-2%;overflow:visible;filter:blur(1.2px)}
#hero.hero-v3 .hero-steam path{fill:none;stroke:#fff3e8;stroke-width:5;stroke-linecap:round;opacity:0;transform-box:fill-box;transform-origin:bottom;animation:hero-steam 4.8s ease-in-out infinite}
#hero.hero-v3 .hero-steam path:nth-child(2){animation-delay:1.6s}
#hero.hero-v3 .hero-steam path:nth-child(3){animation-delay:3.2s}
#hero.hero-v3 .hero-tag-layer{place-items:end start}
#hero.hero-v3 .hero-tag{display:grid;place-content:center;justify-items:center;width:clamp(112px,9.4vw,142px);aspect-ratio:1;margin:0 0 10% 4%;border-radius:50%;background:#fff8ee;color:var(--red);text-align:center;box-shadow:inset 0 0 0 6px #fff8ee,inset 0 0 0 7.5px #9a181566;transform:rotate(-8deg)}
#hero.hero-v3 .hero-tag b{display:block;max-width:82%;font-size:11px;font-weight:700;letter-spacing:.1em;line-height:1.3;text-transform:uppercase}
#hero.hero-v3 .hero-tag span{display:block;margin-top:5px;font-size:clamp(18px,1.55vw,22px);font-weight:700;letter-spacing:-.01em;line-height:1;color:var(--ink)}
#hero.hero-v3.is-entering .hero-plate{animation:hero-plate-in 1.05s cubic-bezier(.2,1.25,.4,1) both}
#hero.hero-v3.is-entering .hero-halo{animation:hero-halo-in .8s cubic-bezier(.2,.8,.2,1) both}
#hero.hero-v3.is-entering .hero-tag{animation:hero-tag-in .7s cubic-bezier(.2,1.4,.4,1) .5s both}
#hero.hero-v3.is-entering .hero-line{animation:hero-line-in .7s cubic-bezier(.2,.8,.2,1) both}
#hero.hero-v3.is-entering .hero-copy>.hero-line:nth-child(2){animation-delay:.08s}
#hero.hero-v3.is-entering .hero-copy>.hero-line:nth-child(3){animation-delay:.16s}
#hero.hero-v3.is-entering .hero-copy>.hero-line:nth-child(4){animation-delay:.24s}
@keyframes hero-plate-in{from{opacity:0;transform:translate(24%,4%) rotate(-80deg) scale(.86)}55%{opacity:1}to{opacity:1;transform:none}}
@keyframes hero-halo-in{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
@keyframes hero-tag-in{from{opacity:0;transform:scale(.3) rotate(-60deg)}to{opacity:1;transform:rotate(-8deg)}}
@keyframes hero-line-in{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes hero-steam{0%{opacity:0;transform:translateY(26px) scaleY(.82)}25%{opacity:.4}70%{opacity:.16}100%{opacity:0;transform:translateY(-36px) scaleY(1.08)}}
#hero.hero-v3 .hero-controls{position:absolute;z-index:3;right:var(--frame);top:50%;flex-direction:column;gap:14px;max-width:none;margin:0;padding:0;transform:translateY(-50%)}
#hero.hero-v3 .hero-controls:before{content:'';position:absolute;z-index:-1;left:50%;top:-64px;bottom:-64px;width:1px;background:linear-gradient(transparent,#ed797159 18%,#ed797159 82%,transparent)}
#hero.hero-v3 .hero-dots{flex-direction:column;gap:16px}
#hero.hero-v3 .hero-dots button{position:relative;display:block;width:60px;height:60px;padding:5px;border-radius:50%;background:#101010;opacity:.58;transition:opacity .2s,transform .35s cubic-bezier(.2,1.3,.4,1)}
#hero.hero-v3 .hero-dots button img{display:block;width:100%;height:100%;border-radius:50%}
#hero.hero-v3 .hero-dots button:hover,#hero.hero-v3 .hero-dots button:focus-visible{opacity:1}
#hero.hero-v3 .hero-dots button.selected{opacity:1;transform:scale(1.14)}
#hero.hero-v3 .hero-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}
#hero.hero-v3 .hero-ring circle{fill:none;stroke:#ffffff2e;stroke-width:1.5}
#hero.hero-v3 .hero-dots button.selected .hero-ring circle{stroke:#ed7971;stroke-width:2.2;stroke-dasharray:141.4;stroke-dashoffset:141.4;animation:hero-ring 7s linear forwards}
#hero.hero-v3.is-paused .hero-dots button.selected .hero-ring circle{animation-play-state:paused}
@keyframes hero-ring{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){#hero.hero-v3 .hero-plate,#hero.hero-v3 .hero-halo,#hero.hero-v3 .hero-tag,#hero.hero-v3 .hero-line,#hero.hero-v3 .hero-steam path{animation:none!important}#hero.hero-v3 .hero-steam path{opacity:.22}#hero.hero-v3 .hero-layer{transition:none}#hero.hero-v3 .hero-dots button.selected .hero-ring circle{animation:none;stroke-dashoffset:0}}
@media(max-width:1100px){#hero.hero-v3 .hero-stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:0 calc(var(--frame) + 84px) 0 var(--frame)}#hero.hero-v3 .hero-dots button{width:52px;height:52px}}
@media(max-width:860px){#hero.hero-v3{min-height:0}#hero.hero-v3 .hero-stage{grid-template-columns:minmax(0,1fr);gap:0;min-height:0;padding:0 var(--gutter)}#hero.hero-v3 .hero-copy{padding:40px 0 6px}#hero.hero-v3 .hero-copy h1{font-size:clamp(50px,10.6vw,72px)}#hero.hero-v3 .hero-art{width:100%;max-width:520px;margin:8px auto 0}#hero.hero-v3 .hero-controls{position:relative;right:auto;top:auto;flex-direction:row;justify-content:center;gap:12px;padding:8px var(--gutter) 30px;transform:none}#hero.hero-v3 .hero-controls:before{display:none}#hero.hero-v3 .hero-dots{flex-direction:row;gap:12px}}
@media(max-width:600px){#hero.hero-v3 .hero-copy h1{font-size:clamp(44px,12.4vw,60px)}#hero.hero-v3 .hero-copy .intro{margin:20px 0 26px}#hero.hero-v3 .hero-actions{gap:10px}#hero.hero-v3 .hero-actions .button{font-size:15px;min-height:52px;padding:14px 16px}#hero.hero-v3 .hero-art{max-width:400px}#hero.hero-v3 .hero-tag{width:98px;margin:0 0 8% 0}#hero.hero-v3 .hero-tag b{font-size:9.5px}#hero.hero-v3 .hero-tag span{font-size:17px}#hero.hero-v3 .hero-dots button{width:50px;height:50px}}

/* Homepage menu tabs: the new category's cards rise in one after another, each plate turning into place. */
#menu .floating-food-card.card-enter{animation:card-enter .6s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0) * 80ms)}
#menu .floating-food-card.card-enter .food-photo>img:first-child{animation:card-plate .85s cubic-bezier(.2,1.2,.4,1) both;animation-delay:calc(var(--i,0) * 80ms + 60ms)}
@keyframes card-enter{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
@keyframes card-plate{from{opacity:0;transform:rotate(-70deg) scale(.72)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#menu .floating-food-card.card-enter,#menu .floating-food-card.card-enter .food-photo>img:first-child{animation:none}}

/* Occasions row: an endless loop. The cards sit on a track that app.js moves with a transform (whole-pixel card widths via --card, so the
   loop distance is exact); the row itself only clips. Vertical swipes still scroll the page. */
.moments-rail.looping{display:block;overflow:hidden;padding:0;scroll-snap-type:none;scrollbar-width:none;touch-action:pan-y}
.moments-rail.looping::-webkit-scrollbar{display:none}
.moments-rail.looping .moment{scroll-snap-align:none}
.moments-track{display:grid;grid-auto-flow:column;grid-auto-columns:var(--card,clamp(272px,23.5vw,316px));gap:20px;width:max-content;padding:0 var(--frame);will-change:transform}
.moments-rail.looping.dragging{user-select:none}
@media(max-width:600px){.moments-track{grid-auto-columns:var(--card,80vw);padding:0 var(--gutter)}}

/* Locations: each branch has a photo. It shows inside an opened branch, and on devices with a mouse a small photo card follows the pointer along a closed row. */
#locations .locations-list{position:relative}
#locations .branch-photo{grid-column:1/-1;position:relative;margin:0;aspect-ratio:21 / 8;overflow:hidden;border-radius:10px;background:#2b2724}
#locations .branch-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.branch-peek{position:absolute;left:0;top:0;z-index:6;width:clamp(180px,16vw,230px);aspect-ratio:4 / 5;padding:7px;border-radius:18px;background:#fff8ee;pointer-events:none;opacity:0;scale:.82;rotate:-8deg;transition:opacity .25s ease,scale .35s cubic-bezier(.2,1.3,.4,1),rotate .35s cubic-bezier(.2,1.3,.4,1)}
.branch-peek.show{opacity:1;scale:1;rotate:-3deg}
.branch-peek img{display:block;width:100%;height:100%;object-fit:cover;border-radius:12px}
.branch-peek-name{position:absolute;left:50%;bottom:18px;translate:-50% 0;padding:6px 12px;border-radius:999px;background:var(--red);color:#fff;font-size:12px;font-weight:700;letter-spacing:.1em;line-height:1.3;text-transform:uppercase;white-space:nowrap}
@media(prefers-reduced-motion:reduce){.branch-peek{transition:opacity .15s}}
.photo-review-on [data-standin]{outline:3px dashed #e8b10d;outline-offset:-3px}

/* Menu page: Quick Combos is a regular category; its opener frames the pie-and-juice illustration. */
.menu-opener-photo.art img{object-fit:contain;padding:15%;background:#fbe6d4}
.dish-thumb img[src$='pie-and-juice.svg']{object-fit:contain;padding:12%;background:#fbe6d4}

/* Menu page close: an order band in the hero's spirit, with the call pill and the "No off days" stamp. */
.order-band{position:relative;isolation:isolate;overflow:hidden;background:var(--red);color:var(--paper);padding:clamp(72px,7vw,104px) var(--gutter)}
.order-band .steam-mark.one{width:min(56vw,700px);left:-14%;top:-36%;transform:rotate(-12deg)}
.order-band .steam-mark.two{width:min(30vw,380px);left:40%;bottom:-30%;transform:rotate(14deg)}
.order-band-inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:32px 5vw;align-items:center;max-width:var(--container);margin:0 auto}
.order-band .eyebrow{font-size:13px;letter-spacing:.14em;color:#ffd6cf;margin:0 0 18px}
.order-band h2{margin:0;font-family:var(--display);font-size:clamp(46px,5.4vw,84px);line-height:.98;letter-spacing:-.012em;color:var(--paper)}
.order-band h2 span{color:var(--blush)}
.order-band-copy>p:not(.eyebrow){max-width:470px;margin:22px 0 0;font-size:19px;line-height:1.55;color:#ffe9e4}
.order-band-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:30px}
.order-band-actions .button.outline{min-height:58px;padding:16px 24px;font-size:16px;border:1.5px solid #ffffff8c;color:#fff;background:transparent}
.order-band-actions .button.outline:hover{background:#ffffff1a;border-color:#fff}
.order-band-art{position:relative;justify-self:center;width:min(100%,520px);aspect-ratio:1}
.order-band-art:before{content:'';position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,#6f0f0c 0%,#6f0f0c00 70%)}
.order-band-art>img{position:absolute;inset:5%;width:90%;height:90%;object-fit:contain;filter:drop-shadow(0 26px 34px #0007)}
.order-band-art .stamp{position:absolute;left:0;bottom:6%;--stamp:30%}
@media(max-width:860px){.order-band-inner{grid-template-columns:minmax(0,1fr)}.order-band-art{width:min(100%,420px)}}
@media(max-width:600px){.order-band{padding:64px var(--gutter)}.order-band .call-pill{font-size:24px}}

/* Footer (revision 3): a "stay in the loop" panel in place of a newsletter form, four useful columns, and the wordmark set large. */
#site-footer.footer-v3{position:relative;isolation:isolate;overflow:hidden;background:#141110;color:#efe6dc;padding:clamp(56px,6vw,88px) var(--gutter) 0}
.footer-panel{position:relative;isolation:isolate;overflow:hidden;max-width:var(--container);margin:0 auto;border-radius:26px;background:#2b2320 url('assets/food-spread.webp') center / cover no-repeat}
.footer-panel:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#141110f2 0%,#141110cc 46%,#9a1815a6 100%)}
.footer-panel-inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:28px 48px;align-items:center;padding:clamp(36px,4vw,56px) clamp(28px,4vw,56px)}
#site-footer .footer-panel .eyebrow{font-size:13px;letter-spacing:.14em;color:#f3b5ac;margin:0 0 14px}
#site-footer .footer-panel h2{margin:0;font-family:var(--display);font-size:clamp(36px,3.8vw,56px);line-height:1;letter-spacing:-.012em;color:#fff8ee}
#site-footer .footer-panel h2 span{color:#ed7971}
#site-footer .footer-panel p:not(.eyebrow){max-width:460px;margin:16px 0 0;font-size:17px;line-height:1.55;color:#e9ded3}
.footer-social{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}
#site-footer .footer-social a{display:inline-flex;align-items:center;gap:10px;padding:13px 20px 13px 16px;border-radius:999px;background:#fff8ee;color:var(--red);font-size:15px;font-weight:700;line-height:1;transition:background .2s,transform .2s}
#site-footer .footer-social a:hover{background:#fff;color:var(--red);text-decoration:none;transform:translateY(-2px)}
.footer-social svg{flex:none;width:20px;height:20px}
.footer-main{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:40px 4vw;max-width:var(--container);margin:0 auto;padding:clamp(48px,5vw,72px) 0 clamp(28px,3vw,44px)}
.footer-brand .footer-wordmark{display:inline-block}
.footer-brand .footer-wordmark img{display:block;width:min(220px,100%);height:auto}
#site-footer .footer-brand .footer-tagline{margin:18px 0 22px;font-family:var(--display);font-size:24px;line-height:1.2;color:#fff8ee}
#site-footer .footer-col h2{margin:0 0 18px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#ed7971}
#site-footer .footer-col a{display:block;width:fit-content;margin:0 0 11px;font-size:16px;line-height:1.4;color:#efe6dc}
#site-footer .footer-col a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.footer-order .footer-number{margin-bottom:14px}
.footer-order .footer-number:hover{text-decoration:none}
.footer-number span{display:block;margin-bottom:4px;font-size:12px;letter-spacing:.08em;color:#bfb2a6}
.footer-number strong{display:block;font-size:24px;line-height:1.1;color:#fff}
.footer-note{margin:-6px 0 16px;font-size:13px;font-weight:700;color:#ed7971}
.footer-order>p:last-child{margin:6px 0 0;font-size:15px;color:#cfc3b7}

#site-footer.footer-v3 .footer-bottom{position:relative;z-index:1;display:flex;justify-content:space-between;gap:16px;max-width:var(--container);margin:0 auto;padding:18px 0 22px;border-top:1px solid #ffffff1f;font-size:13px;color:#bfb2a6}
#site-footer.footer-v3 .footer-bottom a{color:#efe6dc}
@media(max-width:1000px){.footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-panel-inner{grid-template-columns:minmax(0,1fr)}.footer-social{justify-content:flex-start}}
@media(max-width:600px){#site-footer.footer-v3{padding:44px var(--gutter) 0}.footer-panel{border-radius:20px}.footer-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 20px}.footer-brand,.footer-order{grid-column:1/-1}.footer-social a{padding:12px 16px 12px 14px;font-size:14px}#site-footer.footer-v3 .footer-bottom{flex-direction:column;gap:8px}}

/* Typography system (brand guide: Myriad Variable Concept Bold and Semibold; wordmark: Regatto).
   Regatto (--display): hero and page headlines, section headlines, short brand phrases of about five words or fewer at 24px and up, and big numbers. Never prices, lists or running text.
   Myriad Variable Concept Bold (--weight-strong): structure. Eyebrows and labels in tracked capitals, dish, branch and card names, buttons, navigation and prices.
   Myriad Variable Concept Semibold (--weight-text): reading. Body copy, descriptions, captions and long statements.
   Myriad Bold Italic capitals, as on the printed menu, label the menu categories. Myriad is always used at its natural width. */
:root{--type-display:var(--display);--type-text:var(--font);--weight-strong:700;--weight-text:600}
.eyebrow{font-family:var(--type-text);font-weight:var(--weight-strong)}
.about-promise-statement{font-family:var(--type-text);font-weight:var(--weight-text);font-size:clamp(26px,2.5vw,36px);line-height:1.32;letter-spacing:-.01em}
.menu-opener-copy .eyebrow{font-style:italic;letter-spacing:.08em}

/* Revision 4. Alignment: one container and one gutter from the header to the footer.
   --container is the content width and --gutter the side margin: 5vw, or 6vw from 780px down, where the navigation folds away.
   --frame is the inline padding that puts a full-width band's content on the same edges as an inner max-width:var(--container).
   The header, utility bar, hero, occasions heading, homepage contact block, page banners, About hero, The Good Neighbour,
   values card and contact cards use these in their own rules above. */
:root{--container:1240px;--gutter:5vw;--frame:max(var(--gutter),calc((100% - var(--container)) / 2))}
@media(max-width:780px){:root{--gutter:6vw}}
/* The logo file has a little transparent space on its left (17 of its 791px), so the wordmark is nudged onto the edge. */
.header .brand img,.footer-brand .footer-wordmark img{translate:-2.15% 0}
/* The menu button's icon sits 7px inside its tap area. */
@media(max-width:780px){.nav-toggle{margin-right:-7px}}

/* Hero: no pause button. The copy starts on the container's left edge and the plate thumbnails stand on its right edge, below the order button.
   The price stamp puts "From" on a small line of its own above the amount. */
#hero.hero-v3 .hero-tag span small{display:block;margin:0 0 3px;font-size:10px;font-weight:700;letter-spacing:.16em;line-height:1.2;text-transform:uppercase;color:#7a6c64}
@media(max-width:600px){#hero.hero-v3 .hero-tag{width:104px}#hero.hero-v3 .hero-tag span small{font-size:9px}}

/* Occasions: the row keeps 64px above and below it on larger screens (margins on .moments-rail, so only the cards count as the row) and this on phones. */
@media(max-width:600px){.moments-rail{padding:0 var(--gutter);margin:44px 0 48px}}

/* About values card on phones: the same gutter as everything else (it was 4vw). */
@media(max-width:600px){.about-recipe{padding-left:var(--gutter);padding-right:var(--gutter)}}

/* Locations: one temporary photo, ChopShop's Westlands storefront, for every branch until each branch has its own. */
#locations .branch-photo{background:#1e1a17}

/* Menu page: room between the Extras & Drinks panel and the order band. */
.menu-page #extras{padding-bottom:clamp(84px,8vw,112px)}
@media(max-width:780px){.menu-page #extras{padding-bottom:72px}}

/* Eyebrows: one treatment on every page. Tracked Myriad Bold capitals with a short rule, on the right of a left-aligned eyebrow
   and on both sides of a centred one (class "centred"). Red on light backgrounds, blush on red, rose on dark. */
:root{--eyebrow-size:13px;--eyebrow-gap:20px;--eyebrow-on-dark:#ecb0a8;--eyebrow-on-red:#ffd6cf}
@media(max-width:600px){:root{--eyebrow-size:12px;--eyebrow-gap:16px}}
.eyebrow,.locations-intro .eyebrow,#locations .locations-intro .eyebrow,#quick-combos .combo-heading .eyebrow,#hero .hero-copy .eyebrow,.page-banner .eyebrow,.moments .eyebrow,.menu-moments .eyebrow,.about-hero .eyebrow,.order-band .eyebrow,#site-footer .footer-panel .eyebrow,.neighbour-copy .eyebrow,.about-promise .eyebrow,.menu-opener .eyebrow,.menu-opener-copy .eyebrow,.menu-extras-panel .eyebrow,.recipe-card .eyebrow,.about-intro .eyebrow{display:flex;align-items:center;gap:14px;width:fit-content;max-width:100%;padding:0;margin-top:0;margin-bottom:var(--eyebrow-gap);font-family:var(--type-text);font-size:var(--eyebrow-size);font-weight:var(--weight-strong);letter-spacing:.14em;line-height:1.4;text-transform:uppercase}
.eyebrow:after,.eyebrow.centred:before{content:'';flex:none;width:34px;height:1.5px;background:currentColor}
.eyebrow.centred{margin-left:auto;margin-right:auto}
@media(max-width:400px){.eyebrow.centred{gap:12px}.eyebrow.centred:before,.eyebrow.centred:after{width:22px}}
/* The tracking leaves a little space after the last letter; the same on the left keeps a centred eyebrow balanced. */
.eyebrow.centred:before{margin-right:.14em}
.eyebrow,.about-intro .eyebrow,.recipe-card .eyebrow,.menu-opener .eyebrow,.menu-extras-panel .eyebrow{color:var(--red)}
#hero .hero-copy .eyebrow,.page-banner .eyebrow,.locations-intro .eyebrow,#locations .locations-intro .eyebrow,#site-footer .footer-panel .eyebrow,.neighbour-copy .eyebrow,.about-promise .eyebrow{color:var(--eyebrow-on-dark)}
#quick-combos .combo-heading .eyebrow,.moments .eyebrow,.menu-moments .eyebrow,.about-hero .eyebrow,.order-band .eyebrow,.page-banner.red .eyebrow{color:var(--eyebrow-on-red)}

/* Footer: the Adinkra board is gone for now. The wordmark spans the container exactly, and the copyright and an arrow back to the top share a bar of their own below it. */
#site-footer .footer-brand .footer-tagline{margin-bottom:0}
.footer-giant{display:block;width:100%;max-width:var(--container);height:auto;margin:clamp(4px,1vw,12px) auto clamp(32px,3.8vw,56px);color:#fff8ee14;pointer-events:none;user-select:none}
.footer-giant text{font-family:var(--display);font-size:100px;font-weight:700;fill:currentColor}
#site-footer.footer-v3 .footer-bottom{align-items:center;padding:20px 0 28px}
#site-footer.footer-v3 .footer-bottom p{margin:0;font-size:13px;line-height:1.5;color:#bfb2a6}
#site-footer.footer-v3 .footer-bottom .back-to-top{display:grid;place-items:center;flex:none;width:46px;height:46px;min-height:0;padding:0;border:1.5px solid #ffffff3d;border-radius:50%;color:#fff8ee;transition:background .2s,border-color .2s,color .2s,transform .2s}
#site-footer.footer-v3 .footer-bottom .back-to-top svg{width:20px;height:20px}
#site-footer.footer-v3 .footer-bottom .back-to-top:hover{background:#fff8ee;border-color:#fff8ee;color:var(--red);text-decoration:none;transform:translateY(-3px)}
#site-footer.footer-v3 .footer-bottom .back-to-top:focus-visible{outline:2px solid #fff8ee;outline-offset:3px}
@media(max-width:600px){#site-footer.footer-v3 .footer-bottom{flex-direction:row;gap:16px}}
@media(prefers-reduced-motion:reduce){#site-footer.footer-v3 .footer-bottom .back-to-top{transition:none}#site-footer.footer-v3 .footer-bottom .back-to-top:hover{transform:none}}

/* Revision 5. Brand band: larger tracked capitals, set on the container. Below 1080px the four phrases no longer fit in one row,
   so the band becomes a slow marquee instead of being cut off (still, and wrapped, for reduced motion). The moving track is its own layer,
   so it carries the red itself for the icons' screen blend. */
.brand-band{display:block;padding:22px var(--frame);font-size:clamp(15px,.55vw + 9px,18px);font-weight:var(--weight-strong);letter-spacing:.1em}
.brand-band-track{display:flex;background:var(--red)}
.brand-band-set{display:flex;flex:1;align-items:center;justify-content:space-between;gap:28px}
.brand-band-set+.brand-band-set,.brand-band .brand-band-end{display:none}
.brand-band img{width:30px;height:30px}
@media(max-width:1079px){.brand-band{padding:20px 0;font-size:15px}.brand-band-track{width:max-content;animation:marquee 34s linear infinite}.brand-band:hover .brand-band-track{animation-play-state:paused}.brand-band-set{flex:none;gap:26px;padding-right:26px}.brand-band-set+.brand-band-set{display:flex}.brand-band .brand-band-end{display:block}.brand-band img{width:26px;height:26px}}
@media(max-width:1079px) and (prefers-reduced-motion:reduce){.brand-band{padding:18px var(--gutter);white-space:normal}.brand-band-track{width:auto}.brand-band-set{flex:1;flex-wrap:wrap;justify-content:center;gap:10px 22px;padding-right:0}.brand-band-set+.brand-band-set,.brand-band .brand-band-end{display:none}}

/* Occasions call: WhatsApp as an outlined pill beside the call pill, the same height, with the site's WhatsApp mark. The two pills stay together:
   on one line with the stamp and the line from about 1100px, and as a pair on their own row below that. */
.moments-call{gap:18px 22px}
.moments-call p{font-size:clamp(30px,2.8vw,40px);text-wrap:balance}
.moments-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 14px}
.chat-pill{display:inline-flex;align-items:center;gap:12px;height:60px;padding:0 24px 0 9px;border:1.5px solid #ffffff8c;border-radius:999px;color:#fff;font-size:17px;font-weight:var(--weight-strong);line-height:1;white-space:nowrap;transition:background .2s,border-color .2s}
.chat-pill svg{flex:none;width:40px;height:40px;padding:8px;border-radius:50%;background:#ffffff24}
.chat-pill:hover{background:#ffffff1a;border-color:#fff}
.chat-pill:focus-visible{outline:2px solid #fff;outline-offset:3px}
.moments-call .call-pill:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* Menu page: the section links sit apart from the banner. */
.menu-jump{margin-top:clamp(28px,3vw,44px)}

/* Back to top is a button now (it scrolls with app.js instead of following #top). */
#site-footer.footer-v3 .footer-bottom .back-to-top{background:transparent;cursor:pointer;font:inherit}

/* Revision 6. Next-phase prototypes: The Good Neighbour, Stories and Gallery, and the places that lead to them.
   Review tools first. The yellow prototype bar, "Sample" tags and placeholder photos show where ChopShop's real content goes;
   ?empty on a hub page shows it as it would look with nothing published yet. None of this carries over to WordPress. */
.proto-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding:12px var(--frame);background:#f6dc7d;color:#2a2111;font-size:14px;line-height:1.45}
.proto-bar p{margin:0}
.proto-toggle{flex:none;font-weight:var(--weight-strong);border-bottom:1.5px solid currentColor}
.sample-tag{display:inline-block;padding:3px 8px;border-radius:3px;background:#e8b10d;color:#111;font-family:var(--type-text);font-size:11px;font-weight:700;font-style:normal;letter-spacing:.08em;line-height:1.3;text-transform:uppercase;vertical-align:middle}
figure>.sample-tag,.gn-event>.sample-tag,.gn-mission>.sample-tag,.gn-impact>.sample-tag{position:absolute;left:12px;top:12px;z-index:2}
.proto-note{margin:18px 0 0;font-size:13px;font-weight:700;color:#8a6a00}
.pending{padding:1px 6px;border-radius:3px;background:#e8b10d;color:#111;font-size:.9em;font-weight:700}
[data-empty]{display:none}
.show-empty [data-sample]{display:none}
.show-empty [data-empty]{display:block}
.photo-ph{position:relative;display:grid;align-items:end;margin:0;overflow:hidden;background:linear-gradient(140deg,#6d1411,#9a1815 58%,#b5402f);color:#ffd6cf}
.photo-ph:before{content:'';position:absolute;inset:20%;background:#ffffff17;-webkit-mask:url('assets/pot-mark-mask.png') center / contain no-repeat;mask:url('assets/pot-mark-mask.png') center / contain no-repeat}
.photo-ph-label{position:relative;margin:14px 16px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}

/* Navigation: six links (Home is the logo). They fit down to about 940px with room to spare, so the menu button now takes over from 940px down rather than 780px
   (the same rules as the phone menu before). Gallery is listed under Stories in that menu only. */
.header nav .nav-sub{display:none}
@media(max-width:1000px){.header nav{gap:14px}.header .button.small{padding:11px 14px}}
@media(max-width:940px){.header{padding-top:13px;padding-bottom:13px}.brand img{width:126px}.nav-toggle{display:flex;flex-direction:column;gap:6px;width:37px;margin-right:-7px;padding:16px 7px;border:0;background:transparent}.nav-toggle span{height:2px;width:24px;background:#111;transition:transform .2s}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:20px var(--gutter) 30px;box-shadow:0 12px 20px #0001}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:5px}.header nav>a:not(.button){padding:13px 0;min-height:48px;font-size:18px;border-bottom:1px solid #eee}.header nav .button{align-self:start;margin-top:12px}.header .button.small{font-size:16px;min-height:48px}.header nav.open .nav-sub{display:block;padding-left:18px;font-size:16px;color:#5f5852}}

/* Shared section heading and text link for the new pages. */
.gn-section-head{margin-bottom:clamp(32px,3.5vw,48px)}
.gn-section-head h2,.gn-why h2{margin:0;font-family:var(--display);font-size:clamp(40px,4.6vw,66px);line-height:1;letter-spacing:-.012em;color:var(--ink)}
.gn-section-head h2 span,.gn-why h2 span{color:var(--red)}
.gn-text-link{display:inline-flex;align-items:center;gap:8px;padding:0 0 3px;border:0;border-bottom:1.5px solid currentColor;background:none;font:inherit;font-weight:700;color:inherit;cursor:pointer}
.gn-text-link svg{width:18px;height:18px}

/* The Good Neighbour page. Wine and blush are its home colours; the Akoma heart is its mark until ChopShop confirms a logo. */
.gn-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--wine);color:var(--paper)}
.gn-hero .steam-mark{--steam:#ffffff0f}
.gn-hero .steam-mark.one{width:min(66vw,840px);left:-18%;top:-32%;transform:rotate(-14deg)}
.gn-hero .steam-mark.two{width:min(30vw,380px);left:42%;bottom:-28%;transform:rotate(12deg)}
.gn-hero-inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px 4vw;align-items:center;min-height:clamp(540px,44vw,640px);padding:48px var(--frame) 64px}
.gn-hero h1{margin:0;font-family:var(--display);font-size:clamp(56px,6.6vw,104px);line-height:.95;letter-spacing:-.012em;color:var(--paper)}
.gn-hero h1 span{color:var(--blush)}
.gn-lead{max-width:500px;margin:26px 0 0;font-size:19px;line-height:1.55;color:#f3dcd5}
.gn-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:32px}
.gn-actions .button{font-size:16px;min-height:52px;padding:15px 26px}
.gn-page .button.light{color:var(--wine)}
.gn-hero-mark{position:relative;justify-self:end;display:grid;place-items:center;width:min(100%,440px);aspect-ratio:1;border-radius:50%;background:#741714;box-shadow:inset 0 0 0 14px #741714,inset 0 0 0 16px #ed797159;color:#ed7971}
.gn-hero-mark>svg:not(.gn-ring){width:40%;height:auto}
.gn-ring{position:absolute;inset:6%;width:88%;height:88%;animation:stamp-spin 48s linear infinite}
.gn-ring text{font-family:var(--font);font-size:11.5px;font-weight:700;letter-spacing:.14em;fill:#f3b5ac}
.gn-hero-mark small{position:absolute;bottom:25%;font-size:11px;font-weight:700;letter-spacing:.18em;color:#f3b5ac}
.gn-why{background:var(--cream,#f6f3ee);padding:clamp(84px,8vw,124px) var(--frame)}
.gn-why-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px 6vw;align-items:start}
.sample-block{margin-top:28px;padding:22px 24px;border-left:3px solid #e8b10d;background:#fffdf4}
.sample-block>.sample-tag{margin-bottom:12px}
.sample-block p{margin:0 0 12px;font-size:18px;line-height:1.65;color:#5f5852}
.sample-block p:last-child{margin:0}
.gn-mission{position:relative;padding:clamp(28px,3vw,40px);border-radius:22px;background:var(--paper);box-shadow:inset 0 0 0 1.5px #9a181522}
.gn-mission>.sample-tag{left:auto;right:18px;top:18px}
.gn-mission-text{margin:0 0 30px;font-size:clamp(22px,2vw,28px);line-height:1.35;font-weight:var(--weight-text);color:var(--ink)}
.gn-objectives{margin:0;padding:0;list-style:none;counter-reset:objective}
.gn-objectives li{counter-increment:objective;display:flex;gap:14px;align-items:baseline;padding:14px 0;border-top:1.5px solid #9a181522;font-size:17px;line-height:1.5;color:#4b443e}
.gn-objectives li:before{content:counter(objective,decimal-leading-zero);font-family:var(--display);font-size:22px;line-height:1;color:var(--red)}
.gn-support{margin-top:clamp(56px,6vw,88px)}
.gn-support-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.gn-support-list li{padding:30px;border-radius:20px;background:#fff}
.gn-icon{display:block;width:48px;height:48px;color:var(--red)}
.gn-support-list h3{margin:18px 0 8px;font-family:var(--display);font-size:clamp(26px,2.4vw,32px);line-height:1.05;color:var(--ink)}
.gn-support-list p{margin:0;font-size:17px;line-height:1.55;color:#5f5852}
.gn-featured{background:var(--ink);color:var(--paper);padding:clamp(84px,8vw,124px) var(--frame)}
.gn-featured-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:44px 6vw;align-items:center}
.photo-ph.arch{width:100%;max-width:460px;aspect-ratio:4 / 5;border-radius:999px 999px 18px 18px}
.gn-featured h2{margin:0;font-family:var(--display);font-size:clamp(36px,3.8vw,56px);line-height:1.02;letter-spacing:-.012em;color:var(--paper)}
.gn-meta-list{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 20px;padding:0;list-style:none}
.gn-meta-list li{padding:7px 14px;border:1px solid #ffffff38;border-radius:999px;font-size:14px;font-weight:700;color:#efe6dc}
.gn-featured p{max-width:520px;margin:0;font-size:18px;line-height:1.6;color:#d9cec4}
.gn-upcoming{background:var(--cream,#f6f3ee);padding:clamp(84px,8vw,124px) var(--frame) clamp(64px,6vw,96px)}
.gn-upcoming-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.gn-event{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;align-items:start;padding:28px;border-radius:22px;background:#fff}
.gn-event>.sample-tag{left:auto;right:18px}
.date-stamp{display:grid;place-content:center;justify-items:center;width:92px;aspect-ratio:1;border-radius:50%;background:var(--paper);box-shadow:inset 0 0 0 5px var(--paper),inset 0 0 0 6.5px #9a181566;color:var(--red);text-align:center}
.date-stamp b{font-size:12px;letter-spacing:.16em}
.date-stamp strong{font-family:var(--display);font-size:36px;line-height:1}
.gn-event h3{margin:6px 70px 6px 0;font-family:var(--display);font-size:clamp(24px,2.2vw,30px);line-height:1.05;color:var(--ink)}
.gn-meta{margin:0 0 8px;font-size:14px;font-weight:700;letter-spacing:.04em;color:var(--red)}
.gn-event p:last-child{margin:0;font-size:16px;line-height:1.55;color:#5f5852}
.gn-empty{max-width:680px;margin:0;padding:22px 26px;border-radius:16px;background:#fff;font-size:17px;line-height:1.6;color:#4b443e}
.gn-empty a{color:var(--red);font-weight:700;border-bottom:1.5px solid currentColor}
.gn-past{background:#fff;padding:clamp(84px,8vw,124px) var(--frame)}
.gn-past .gn-empty{background:var(--cream,#f6f3ee)}
.gn-year{margin:0 0 22px;font-family:var(--display);font-size:30px;line-height:1;color:var(--red)}
.gn-past-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 22px}
.gn-card .photo-ph{aspect-ratio:4 / 3;border-radius:16px;margin-bottom:18px}
.gn-card h4{margin:6px 0 8px;font-family:var(--display);font-size:clamp(24px,2vw,28px);line-height:1.05;color:var(--ink)}
.gn-card p{margin:0 0 10px;font-size:16px;line-height:1.55;color:#5f5852}
.gn-card p.gn-meta{margin-bottom:4px;color:var(--red)}
.gn-card p.gn-outcome{display:inline-block;padding:6px 12px;border-radius:999px;background:#fbe6d4;color:var(--wine);font-size:13px;font-weight:700}
.gn-card-links{display:flex;flex-wrap:wrap;gap:8px 20px}
.gn-card-links a{font-size:15px;font-weight:700;color:var(--red);border-bottom:1.5px solid currentColor}
.gn-impact{position:relative;margin-top:clamp(56px,6vw,80px);padding:clamp(36px,4vw,52px) clamp(24px,3vw,40px) clamp(28px,3vw,36px);border-radius:24px;background:var(--cream,#f6f3ee);text-align:center}
.gn-impact ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.gn-impact li{display:flex;flex-direction:column;align-items:center}
.gn-impact strong{font-family:var(--display);font-size:clamp(56px,6vw,88px);line-height:1;color:var(--red)}
.gn-impact li span{margin-top:8px;font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#5f5852}
.gn-photos{background:var(--ink);color:var(--paper);padding:clamp(84px,8vw,124px) var(--frame)}
.gn-photos .gn-section-head h2{color:var(--paper)}
.gn-photos .gn-section-head h2 span{color:var(--blush)}
.gn-photo-grid{list-style:none;margin:0 0 40px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.gn-photo-grid .photo-ph{aspect-ratio:4 / 3;border-radius:16px}
.gn-partner{background:var(--wine);color:var(--paper);padding:clamp(84px,8vw,124px) var(--frame)}
.gn-partner-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:44px 6vw;align-items:start}
.gn-partner h2{margin:0;font-family:var(--display);font-size:clamp(36px,3.8vw,56px);line-height:1;letter-spacing:-.012em;color:var(--paper)}
.gn-partner h2 span{color:#ed7971}
.gn-partner-copy>p{max-width:460px;margin:22px 0 40px;font-size:19px;line-height:1.55;color:#f0d9d2}
.gn-partner-copy h3{margin:0 0 12px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#f3b5ac}
.gn-steps{list-style:none;margin:0;padding:0;counter-reset:step}
.gn-steps li{counter-increment:step;position:relative;padding:14px 0 14px 48px;border-top:1px solid #ffffff24;font-size:17px;line-height:1.5;color:#f4e6e0}
.gn-steps li:before{content:counter(step);position:absolute;left:0;top:13px;font-family:var(--display);font-size:26px;line-height:1;color:#ed7971}
.gn-form{padding:clamp(24px,3vw,40px);border-radius:24px;background:var(--paper);color:var(--ink)}
.gn-path{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px;padding:0;border:0}
.gn-path legend{float:left;width:100%;margin:0 0 10px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.gn-path label{position:relative}
.gn-path input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.gn-path span{display:inline-flex;align-items:center;min-height:46px;padding:10px 20px;border:1.5px solid #d8cfc6;border-radius:999px;background:#fff;font-size:15px;font-weight:700}
.gn-path input:checked+span{background:var(--red);border-color:var(--red);color:#fff}
.gn-path input:focus-visible+span{outline:2px solid var(--red);outline-offset:3px}
.field{display:grid;gap:7px;margin-bottom:16px}
.field label{font-size:14px;font-weight:700;color:#3d3732}
.field label span{font-weight:600;color:#8a7f76}
.field input,.field textarea{width:100%;min-height:52px;padding:13px 16px;border:1.5px solid #d8cfc6;border-radius:12px;background:#fff;font:inherit;font-size:16px;color:var(--ink)}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px #9a181529}
.field [aria-invalid="true"]{border-color:#b3261e}
.field.check{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:4px 12px}
.field.check input{width:22px;height:22px;min-height:0;margin:1px 0 0;accent-color:var(--red)}
.field.check label{font-weight:600}
.field.check .field-error{grid-column:2}
.field-error{margin:0;font-size:14px;font-weight:700;color:#b3261e}
.gn-form .button{width:100%;font-size:17px;min-height:56px;margin-top:6px}
.gn-form-note{margin:14px 0 0;font-size:14px;line-height:1.5;color:#6b625b}
.gn-form-done{padding:24px 0 12px;text-align:center;outline:none}
.gn-form-done>svg{width:64px;height:64px;color:var(--red)}
.gn-form-done h3{margin:12px 0 8px;font-family:var(--display);font-size:40px;line-height:1;color:var(--ink)}
.gn-form-done p{margin:0 0 20px;font-size:17px;color:#5f5852}
.gn-form-done .gn-text-link{color:var(--red)}
.gn-hero .eyebrow,.gn-partner .eyebrow,.gn-strip .eyebrow,.gn-facts .eyebrow{color:var(--eyebrow-on-red)}
.gn-featured .eyebrow,.gn-photos .eyebrow,.hub-head.dark .eyebrow,.collections .eyebrow,.collection .eyebrow,.collection-more .eyebrow{color:var(--eyebrow-on-dark)}

/* Stories and Gallery share a hub head with a Stories · Gallery switch. Stories lives on cream and paper; Gallery on the dark stage. */
.hub-head{background:var(--cream,#f6f3ee);padding:clamp(56px,6vw,88px) var(--frame)}
.hub-head-inner{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:28px 40px}
.hub-head h1{margin:0;font-family:var(--display);font-size:clamp(56px,6.3vw,96px);line-height:.95;letter-spacing:-.012em;color:var(--ink)}
.hub-head h1 span{color:var(--red)}
.hub-lead{max-width:520px;margin:24px 0 0;font-size:19px;line-height:1.55;color:#5f5852}
.hub-switch{display:inline-flex;padding:5px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1.5px #d8cfc6}
.hub-switch a{display:inline-flex;align-items:center;min-height:44px;padding:10px 22px;border-radius:999px;font-size:15px;font-weight:700;color:var(--ink)}
.hub-switch a:hover:not([aria-current]){color:var(--red)}
.hub-switch a[aria-current]{background:var(--red);color:#fff}
.hub-head.dark{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:var(--paper)}
.hub-head.dark .steam-mark.one{width:min(56vw,700px);right:-12%;top:-46%;transform:rotate(12deg);--steam:#ffffff0c}
.hub-head.dark h1{color:var(--paper)}
.hub-head.dark h1 span{color:var(--blush)}
.hub-head.dark .hub-lead{color:#d9cec4}
.hub-head.dark .hub-switch{background:#ffffff12;box-shadow:inset 0 0 0 1.5px #ffffff2e}
.hub-head.dark .hub-switch a{color:var(--paper)}
.hub-head.dark .hub-switch a[aria-current]{background:var(--paper);color:var(--ink)}
.story-featured{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:32px 5vw;align-items:center;margin-top:clamp(44px,4.5vw,64px)}
.story-featured-photo{position:relative;margin:0;aspect-ratio:16 / 10;overflow:hidden;border-radius:22px;background:#2b2724}
.story-featured-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.story-featured:hover .story-featured-photo img{transform:scale(1.03)}
.story-featured h2{margin:0;font-family:var(--display);font-size:clamp(34px,3.6vw,54px);line-height:1.02;letter-spacing:-.012em;color:var(--ink)}
.story-featured h2 a:after,.story-card h3 a:after,.collection-card h3 a:after{content:'';position:absolute;inset:0;z-index:1}
.story-featured:has(a:focus-visible),.story-card:has(a:focus-visible),.collection-card:has(a:focus-visible){outline:3px solid var(--red);outline-offset:8px;border-radius:20px}
.story-featured a:focus-visible,.story-card a:focus-visible,.collection-card a:focus-visible{outline:none}
.story-more{display:inline-flex;align-items:center;gap:8px;margin-top:24px;padding-bottom:3px;border-bottom:1.5px solid currentColor;font-weight:700;color:var(--red)}
.story-more svg{width:18px;height:18px}
.story-meta{margin:14px 0 0;font-size:14px;font-weight:700;letter-spacing:.03em;color:#8a7f76}
.story-excerpt{margin:12px 0 0;font-size:17px;line-height:1.55;color:#5f5852}
.stories-list{background:#fff;padding:clamp(48px,5vw,72px) var(--frame) clamp(84px,8vw,124px)}
.pill-filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:clamp(36px,4vw,56px)}
.pill-filters a{display:inline-flex;align-items:center;min-height:44px;padding:11px 18px;border:1px solid #d5cec5;border-radius:30px;background:#fff;font-size:15px;line-height:1.2;white-space:nowrap}
.pill-filters a:hover:not([aria-current]){background:var(--soft)}
.pill-filters a[aria-current]{background:var(--red);border-color:var(--red);color:#fff;font-weight:700}
.pill-filters.dark a{background:transparent;border-color:#ffffff3d;color:var(--paper)}
.pill-filters.dark a:hover:not([aria-current]){background:#ffffff14}
.pill-filters.dark a[aria-current]{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.story-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 24px}
.story-card{position:relative}
.post-photo{position:relative;margin:0 0 20px;aspect-ratio:3 / 2;overflow:hidden;border-radius:16px;background:#2b2724}
.post-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.story-card:hover .post-photo img,.collection-card:hover .collection-cover img{transform:scale(1.04)}
.post-photo.art{background:#fbe6d4}
.post-photo.art img{object-fit:contain;padding:12%}
.story-card .eyebrow{margin-bottom:12px}
.story-card h3{margin:0;font-family:var(--display);font-size:clamp(24px,2vw,30px);line-height:1.08;letter-spacing:-.01em;color:var(--ink)}
.gn-badge{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:-6px;color:currentColor}
.gn-badge svg{width:18px;height:18px}
.hub-empty{max-width:680px;margin:0;padding:26px 28px;border-radius:18px;background:var(--cream,#f6f3ee);font-size:18px;line-height:1.6;color:#4b443e}
.hub-empty p{margin:0}
.hub-empty a{color:var(--red);font-weight:700;border-bottom:1.5px solid currentColor}
.pager{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:64px}
.pager span{display:inline-grid;place-items:center;min-width:46px;height:46px;padding:0 16px;border:1px solid #d5cec5;border-radius:999px;font-size:15px;font-weight:700;color:#5f5852}
.pager [aria-current]{background:var(--ink);border-color:var(--ink);color:#fff}

/* Story page: the reading column starts on the container's left edge, and a sticky aside carries sharing (and activity facts on Good Neighbour reports). */
.story-head{background:var(--cream,#f6f3ee);padding:clamp(40px,4vw,56px) var(--frame) 0}
.story-head-inner{max-width:920px}
.story-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:28px;font-size:15px;font-weight:700;color:var(--red)}
.story-back svg{width:18px;height:18px}
.story-head h1{margin:0;font-family:var(--display);font-size:clamp(44px,5.4vw,84px);line-height:.98;letter-spacing:-.012em;color:var(--ink)}
.story-head h1 span{color:var(--red)}
.story-head .story-meta{margin-top:20px}
.story-hero{position:relative;margin:clamp(36px,4vw,56px) 0 calc(clamp(48px,6vw,96px) * -1);aspect-ratio:16 / 8;overflow:hidden;border-radius:22px;background:#2b2724}
.story-hero img{width:100%;height:100%;object-fit:cover}
.story-layout{display:grid;grid-template-columns:minmax(0,680px) minmax(240px,300px);justify-content:space-between;gap:48px;padding:calc(clamp(48px,6vw,96px) + clamp(48px,5vw,72px)) var(--frame) clamp(72px,7vw,104px);background:#fff}
.story-body{font-size:19px;line-height:1.7;font-weight:var(--weight-text);color:#3d3732}
.story-body p{margin:0 0 22px}
.story-body .story-intro{font-size:22px;line-height:1.55;color:var(--ink)}
.story-body h2{margin:48px 0 12px;font-family:var(--display);font-size:clamp(30px,2.8vw,38px);line-height:1.05;letter-spacing:-.01em;color:var(--ink)}
.story-body .story-try{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:14px;font-size:17px;color:#4b443e}
.story-try b{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.story-order{display:inline-flex;align-items:center;gap:8px;padding-bottom:3px;border-bottom:1.5px solid currentColor;font-size:16px;font-weight:700;color:var(--red)}
.story-order svg{width:16px;height:16px}
.story-figure{margin:40px 0}
.story-figure img{width:100%;height:auto;border-radius:16px}
.story-figure figcaption{margin-top:12px;font-size:14px;line-height:1.5;color:#8a7f76}
.story-quote{margin:48px 0;padding:4px 0 4px 28px;border-left:3px solid var(--red)}
.story-body .story-quote p{margin:0;font-family:var(--display);font-size:clamp(30px,3vw,40px);line-height:1.1;color:var(--red)}
.story-quote cite{display:block;margin-top:12px;font-size:15px;font-style:normal;font-weight:700;color:#5f5852}
.story-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:40px 0}
.story-gallery .photo-ph{aspect-ratio:4 / 3;border-radius:14px}
.story-aside{position:sticky;top:110px;align-self:start;display:grid;gap:16px}
.story-share{display:grid;gap:10px;padding:24px;border-radius:18px;background:var(--cream,#f6f3ee)}
.story-share .eyebrow{margin-bottom:6px}
.share-link{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 16px;border:0;border-radius:12px;background:#fff;font:inherit;font-size:15px;font-weight:700;color:var(--ink);text-align:left;cursor:pointer;transition:background .2s}
.share-link svg{flex:none;width:20px;height:20px;color:var(--red)}
.share-link:hover{background:#fbe6d4}
.share-link:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.gn-facts{padding:26px;border-radius:18px;background:var(--wine);color:var(--paper)}
.gn-facts dl{margin:0 0 18px}
.gn-facts dl>div{display:grid;grid-template-columns:minmax(0,100px) minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid #ffffff24}
.gn-facts dt{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#f3b5ac}
.gn-facts dd{margin:0;font-size:15px;color:#f4e6e0}
.gn-facts .gn-text-link{color:var(--paper)}
.story-related{background:var(--cream,#f6f3ee);padding:clamp(72px,7vw,104px) var(--frame)}
.moments-call-band{position:relative;isolation:isolate;overflow:hidden;background:var(--red);padding:clamp(56px,6vw,84px) 0}

/* Gallery: collections, each with an arched cover; one collection page lays its photos on a four-column grid and opens them in a viewer. */
.collections{background:var(--ink);color:var(--paper);padding:clamp(48px,5vw,72px) var(--frame) clamp(84px,8vw,124px)}
.collection-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 24px}
.collection-card{position:relative}
.collection-cover{position:relative;margin:0 0 20px;aspect-ratio:5 / 6;overflow:hidden;border-radius:999px 999px 18px 18px;background:#2b2724}
.collection-cover img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.collection-card .eyebrow{margin-bottom:12px}
.collection-card h3{margin:0;font-family:var(--display);font-size:clamp(26px,2.2vw,32px);line-height:1.05;letter-spacing:-.01em;color:var(--paper)}
.collection-card .story-meta,.collection .story-meta{color:#a99d93}
.collections .hub-empty{background:#ffffff0d;color:#e9ded3}
.collections .hub-empty a{color:var(--blush)}
.collection{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:var(--paper);padding:clamp(40px,4vw,56px) var(--frame) clamp(72px,7vw,104px)}
.collection .steam-mark.one{width:min(56vw,700px);right:-14%;top:-30%;transform:rotate(12deg);--steam:#ffffff0a}
.collection-head{max-width:820px;margin-bottom:clamp(36px,4vw,56px)}
.collection .story-back{color:#f3b5ac}
.collection-head h1{margin:0;font-family:var(--display);font-size:clamp(48px,5.6vw,88px);line-height:.98;letter-spacing:-.012em;color:var(--paper)}
.collection-intro{max-width:620px;margin:16px 0 0;font-size:18px;line-height:1.6;color:#d9cec4}
.collection-story{margin:20px 0 0;color:var(--blush)}
.collection-photos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(150px,16vw,240px);gap:12px}
.collection-photos>li:nth-child(8n+1){grid-column:span 2;grid-row:span 2}
.collection-photos>li:nth-child(8n+6){grid-column:span 2}
.collection-photos button{position:relative;display:block;width:100%;height:100%;padding:0;border:0;border-radius:14px;overflow:hidden;background:#2b2724;cursor:zoom-in}
.collection-photos img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.collection-photos button:hover img{transform:scale(1.04)}
.collection-photos button:focus-visible{outline:3px solid var(--paper);outline-offset:3px}
.collection-photos .photo-ph{height:100%;border-radius:14px}
.collection-more{background:var(--ink);padding:0 var(--frame) clamp(84px,8vw,124px)}
.collection-more .gn-section-head h2{color:var(--paper)}
.collection-more .gn-section-head h2 span{color:var(--blush)}
.lightbox{width:100vw;max-width:100vw;height:100vh;max-height:100vh;margin:0;padding:0;border:0;background:#0d0a09f2;color:var(--paper)}
.lightbox::backdrop{background:#0d0a09d9}
.lightbox[open]{display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center}
.lightbox-frame{display:grid;justify-items:center;gap:14px;max-width:min(92vw,1200px);margin:0;padding:76px 88px 0}
.lightbox-frame img{max-width:100%;max-height:calc(100vh - 200px);object-fit:contain;border-radius:10px}
.lightbox-caption{margin:0;font-size:16px;line-height:1.5;color:#e9ded3;text-align:center}
.lightbox-count{margin:0 0 26px;font-size:13px;font-weight:700;letter-spacing:.16em;color:#a99d93}
.lightbox-close,.lightbox-prev,.lightbox-next{position:fixed;display:grid;place-items:center;width:52px;height:52px;padding:0;border:1.5px solid #ffffff4d;border-radius:50%;background:#0d0a0999;color:var(--paper);cursor:pointer;transition:background .2s,color .2s}
.lightbox-close svg,.lightbox-prev svg,.lightbox-next svg{width:22px;height:22px}
.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{background:var(--paper);color:var(--ink)}
.lightbox-close:focus-visible,.lightbox-prev:focus-visible,.lightbox-next:focus-visible{outline:2px solid var(--paper);outline-offset:3px}
.lightbox-close{top:20px;right:20px}
.lightbox-prev{left:20px;top:50%;translate:0 -50%}
.lightbox-next{right:20px;top:50%;translate:0 -50%}

/* Balanced headlines, so no word sits alone on the last line; an arched placeholder keeps its Sample tag clear of the curve. */
.gn-featured h2,.gn-section-head h2,.gn-partner h2,.hub-head h1,.story-featured h2,.story-card h3,.story-head h1,.collection-card h3,.collection-head h1,.gn-event h3,.gn-card h4,.gn-strip h2,.gn-support-list h3{text-wrap:balance}
.photo-ph.arch>.sample-tag,.collection-cover>.sample-tag{left:50%;top:28px;translate:-50% 0}
.photo-ph.post-photo,.photo-ph.collection-cover{background:linear-gradient(140deg,#6d1411,#9a1815 58%,#b5402f)}

/* Touchpoints: a slim Good Neighbour strip (homepage, and the end of reports) and a card on the Contact page. */
.gn-strip{background:var(--wine);color:var(--paper);padding:clamp(28px,3vw,40px) var(--frame)}
.gn-strip-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px clamp(24px,3vw,44px);align-items:center}
.gn-strip-mark{display:grid;place-items:center;width:clamp(72px,7vw,96px);aspect-ratio:1;border-radius:50%;background:#741714;box-shadow:inset 0 0 0 6px #741714,inset 0 0 0 7.5px #ed797166;color:#ed7971}
.gn-strip-mark svg{width:46%;height:auto}
.gn-strip .eyebrow{margin-bottom:10px}
.gn-strip h2{margin:0;font-family:var(--display);font-size:clamp(26px,2.6vw,36px);line-height:1.05;letter-spacing:-.01em;color:var(--paper)}
.gn-strip-line{margin:8px 0 0;font-size:16px;line-height:1.5;color:#f0d9d2}
.gn-strip .button{white-space:nowrap;min-height:52px;padding:15px 24px;font-size:16px}
.contact-channels-band .contact-gn{grid-column:1 / -1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px 28px;align-items:center;background:var(--wine);border-color:var(--wine);color:var(--paper)}
.contact-gn-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#741714;box-shadow:inset 0 0 0 4px #741714,inset 0 0 0 5.5px #ed797166;color:#ed7971}
.contact-gn-mark svg{width:30px;height:30px}
.contact-channel.contact-gn h2{margin:0 0 6px;color:#f3b5ac}
.contact-gn p{margin:0;font-size:16px;line-height:1.5;color:#f0d9d2}
.contact-channel.contact-gn .button{margin-top:0}

@media(prefers-reduced-motion:reduce){.gn-ring{animation:none}.post-photo img,.collection-cover img,.collection-photos img,.story-featured-photo img{transition:none}}
@media(max-width:1000px){.story-grid,.collection-grid,.gn-past-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-layout{grid-template-columns:minmax(0,1fr)}.story-aside{position:static;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.story-aside>:only-child{grid-column:1 / -1;max-width:420px}}
@media(max-width:900px){.gn-hero-inner,.gn-why-inner,.gn-featured-inner,.gn-partner-inner,.story-featured{grid-template-columns:minmax(0,1fr)}.gn-hero-mark{justify-self:start;width:min(100%,360px)}.gn-upcoming-list{grid-template-columns:minmax(0,1fr)}.hub-head-inner{align-items:flex-start}}
@media(max-width:780px){.gn-strip-inner,.contact-channels-band .contact-gn{grid-template-columns:auto minmax(0,1fr)}.gn-strip .button,.contact-channel.contact-gn .button{grid-column:1 / -1;justify-self:start}.collection-photos{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:44vw}.collection-photos>li:nth-child(8n+1),.collection-photos>li:nth-child(8n+6){grid-column:auto;grid-row:auto}.collection-photos>li:nth-child(3n+1){grid-column:span 2}.gn-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-hero{aspect-ratio:4 / 3}}
@media(max-width:600px){.story-grid,.collection-grid,.gn-past-grid,.gn-support-list{grid-template-columns:minmax(0,1fr)}.story-aside{grid-template-columns:minmax(0,1fr)}.gn-impact ul{grid-template-columns:minmax(0,1fr)}.gn-event{grid-template-columns:minmax(0,1fr)}.date-stamp{width:76px}.date-stamp strong{font-size:30px}.gn-event h3{margin-right:0}.story-body{font-size:18px}.story-body .story-intro{font-size:20px}.lightbox-frame{padding:68px 16px 0}.lightbox-prev,.lightbox-next{top:auto;bottom:20px;translate:none}.lightbox-count{margin-bottom:36px}.gn-actions .button{width:100%}}

/* Revision 7. Typography system. The brand guide sets Myriad Variable Concept in Bold and Semibold; Regatto, the wordmark's face, sets display.
   Everything that isn't display now sits on one scale, so similar elements share a size and nothing reads as an afterthought:
   lead 19–21px · body 17–18px · interface 16px (navigation, buttons, filters, links) · small 15px (dates, captions, notes) ·
   label 14px (tracked capitals: eyebrows, column and list headings) · micro 13px (tags and words inside small graphics).
   Phones keep reading sizes: running text stays at 16px or more, labels at 13px, micro at 12.5px. */
:root{--fs-lead:clamp(19px,.5vw + 13.5px,21px);--fs-body:clamp(17px,.25vw + 14.4px,18px);--fs-ui:16px;--fs-small:15px;--fs-label:14px;--fs-micro:13px;--eyebrow-size:var(--fs-label)}
@media(max-width:600px){:root{--fs-label:13px;--fs-micro:12.5px;--eyebrow-size:13px}}

/* Leads under the big headings. */
.hub-lead,.gn-lead,.page-banner-lead,.about-hero-lead,.moments-lead,.about-intro-text,.order-band-copy>p:not(.eyebrow),.gn-partner-copy>p,.locations-intro>p:not(.eyebrow),#locations .locations-intro>p:not(.eyebrow){font-size:var(--fs-lead)}

/* Header: the utility bar and navigation. */
.utility{font-size:14px}
.header nav,.header .button.small{font-size:var(--fs-ui)}
@media(max-width:1100px){.header nav,.header .button.small{font-size:15px}}
@media(max-width:940px){.header .button.small{font-size:16px}}

/* Homepage hero: the price stamp grows a little so its words can. */
#hero.hero-v3 .hero-tag{width:clamp(128px,10.6vw,156px)}
#hero.hero-v3 .hero-tag b{font-size:var(--fs-micro);letter-spacing:.1em}
#hero.hero-v3 .hero-tag span{font-size:clamp(21px,1.8vw,26px)}
#hero.hero-v3 .hero-tag span small{font-size:var(--fs-micro)}
@media(max-width:600px){#hero.hero-v3 .hero-tag{width:120px}#hero.hero-v3 .hero-tag b{font-size:12.5px}#hero.hero-v3 .hero-tag span{font-size:20px}}

/* Homepage menu cards, occasions, specials and combos. */
#menu .dish-portion{font-size:var(--fs-micro)}
#menu .dish-note{font-size:14px}
#menu .menu-foot p{font-size:var(--fs-small)}
.text-link{font-size:var(--fs-ui)}
.moment-line{font-size:17px}
.moment-try{font-size:16px}
.moment-try b{font-size:var(--fs-micro);letter-spacing:.14em}
.moment-order{font-size:var(--fs-ui)}
#specials .specials-photo figcaption{font-size:var(--fs-small)}
#quick-combos .combo-pairing>span,#quick-combos .combo-price>span{font-size:var(--fs-micro)}
#quick-combos .combo-help{font-size:var(--fs-small)}
#specials .special-list p{font-size:16px}

/* Locations directory (homepage and Contact) and the homepage contact block. */
#locations .directory-caption,#locations .directory-caption>span:first-child{font-size:var(--fs-label)}
#locations .hours,#locations .branch-schedule,#locations .branch-hint,#locations .branch-map p{font-size:var(--fs-small)}
#locations .branch-information dt{font-size:var(--fs-micro);letter-spacing:.1em}
#locations .branch-information dd,#locations .branch-information .branch-hours,#locations .branch-information .branch-address{font-size:17px}
#locations .location-help p,#locations .location-help .text-link{font-size:var(--fs-ui)}
#locations .branch-actions .button,#locations .branch-map-title{font-size:var(--fs-small)}
#contact.contact-feature .contact-numbers span{font-size:var(--fs-micro);letter-spacing:.1em}
#contact.contact-feature .contact-numbers p{font-size:var(--fs-small)}

/* Menu page. */
.menu-jump a,.menu-subnav{font-size:var(--fs-ui)}
.menu-sub-head h3{font-size:var(--fs-label)}
.menu-sub-head p{font-size:17px}
.dish-row-body>p,.menu-list-detail{font-size:16px}
.dish-row-meta{font-size:14px}
.dish-row-tag,.menu-moments-list span{font-size:var(--fs-micro)}
.dish-row-ask{font-size:var(--fs-small)}

/* About and Contact. */
.about-numbers .num span{font-size:max(15px,7.4cqi)}
.neighbour-mark small,.gn-hero-mark small,.kinetic-badge{font-size:var(--fs-micro)}
.recipe-list p,.neighbour-copy p.neighbour-note,.contact-social,.contact-gn p{font-size:17px}
.contact-channel h2{font-size:var(--fs-label);letter-spacing:.14em}
.contact-channel-note{font-size:var(--fs-small)}
.contact-channel-hours{font-size:16px}

/* The Good Neighbour, Stories and Gallery. */
.gn-event p:last-child,.gn-card p,.gn-strip-line{font-size:17px}
.gn-meta,.gn-card p.gn-meta,.gn-meta-list li,.story-meta,.story-figure figcaption,.field label,.gn-form-note{font-size:var(--fs-small)}
.gn-card p.gn-outcome{font-size:14px}
.gn-path legend,.gn-partner-copy h3{font-size:var(--fs-label)}
.date-stamp b,.photo-ph-label,.story-try b,.gn-facts dt{font-size:var(--fs-micro)}
.pill-filters a,.hub-switch a,.pager span,.share-link,.story-back,.gn-card-links a{font-size:var(--fs-ui)}

/* Footer: column headings, links, numbers and the bottom line all step up. */
#site-footer .footer-panel p:not(.eyebrow){font-size:18px}
#site-footer .footer-social a{font-size:var(--fs-ui)}
#site-footer .footer-brand .footer-tagline{font-size:clamp(26px,2.2vw,30px);text-wrap:balance}
#site-footer .footer-col h2{font-size:var(--fs-label);letter-spacing:.14em}
#site-footer .footer-col a{font-size:17px;margin-bottom:12px}
#site-footer .footer-number span{font-size:var(--fs-label);letter-spacing:.04em}
#site-footer .footer-number strong{font-size:26px}
#site-footer .footer-note{font-size:var(--fs-small)}
#site-footer .footer-order>p:last-child{font-size:16px}
#site-footer.footer-v3 .footer-bottom p{font-size:var(--fs-small)}

/* About moments: room before the first marquee and after the second, and a closing note in ChopShop's voice with the same two ways to order
   as the homepage occasions. */
.about-moments h2{margin-bottom:clamp(56px,6vw,88px)}
.about-moments-close{margin:clamp(56px,6vw,88px) 0 0;padding:0 var(--frame);text-align:center}
.about-moments-line{margin:0;font-family:var(--display);font-size:clamp(32px,3.4vw,48px);line-height:1.06;letter-spacing:-.01em;color:var(--paper);text-wrap:balance}
.about-moments-close>p:not(.about-moments-line){max-width:780px;margin:16px auto 0;font-size:var(--fs-lead);line-height:1.55;color:#ffe9e4;text-wrap:balance}
.about-moments-close .moments-actions{margin-top:30px}

/* Revision 8. Phones first: one mobile language, and eyebrows with one job.
   Statement sections (the heroes and page banners, the closing bands, The Good Neighbour strip and card) fold the same way: once a section drops
   to one column, its art comes first and its copy centres beneath it. Working sections (the menu, the branch directory, forms, articles, lists)
   stay left-aligned for reading.
   Eyebrows introduce a section and nothing else. They sit on one line (labels are kept to about 22 characters), with a rule on the right when
   left-aligned and rules on both sides when centred, and they take their heading's alignment at every width. Category tags and the small labels
   inside a section keep the lettering but drop the rule (.eyebrow.kicker). */

/* Eyebrows never wrap. In a tight space the rules give a little; the words never do. */
.eyebrow{white-space:nowrap}
.eyebrow:after,.eyebrow.centred:before{flex:0 1 auto;min-width:14px}
.eyebrow.kicker{display:block;width:auto;max-width:none;white-space:normal}
.eyebrow.kicker:before,.eyebrow.kicker:after{content:none}
.eyebrow.kicker .gn-badge{vertical-align:-3px;margin-right:8px}

/* Quick Combos: the heading centres from 780px down, so its eyebrow does too. */
@media(max-width:780px){
 #quick-combos .combo-heading .eyebrow{margin-left:auto;margin-right:auto}
 #quick-combos .combo-heading .eyebrow:before{content:'';flex:0 1 auto;width:34px;min-width:14px;height:1.5px;background:currentColor;margin-right:.14em}
}

/* Homepage hero on phones and small tablets: the plate first, the copy centred beneath, no thumbnails. The thumbnails stay in the page
   for screen readers and keyboards: they are visually hidden and reappear while a keyboard user is on them. */
@media(max-width:860px){
 #hero.hero-v3 .hero-art{order:-1;width:min(74vw,420px);max-width:none;margin:30px auto 0}
 #hero.hero-v3 .hero-copy{padding:2px 0 60px;text-align:center}
 #hero.hero-v3 .hero-copy .eyebrow{margin-left:auto;margin-right:auto}
 #hero.hero-v3 .hero-copy .eyebrow:before{content:'';flex:0 1 auto;width:34px;min-width:14px;height:1.5px;background:currentColor;margin-right:.14em}
 #hero.hero-v3 .hero-copy .intro{max-width:30em;margin-left:auto;margin-right:auto}
 #hero.hero-v3 .hero-actions{justify-content:center}
 #hero.hero-v3 .hero-controls{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 #hero.hero-v3 .hero-controls:focus-within{position:relative;width:auto;height:auto;margin:0;padding:0 var(--gutter) 36px;overflow:visible;clip-path:none}
}
@media(max-width:600px){
 #hero.hero-v3 .hero-art{width:min(76vw,320px);margin-top:26px}
 #hero.hero-v3 .hero-copy .intro{margin:18px auto 26px}
 #hero.hero-v3 .hero-tag{width:112px}
}

/* About hero. */
@media(max-width:900px){
 .about-hero-inner{gap:22px;padding:30px var(--gutter) 60px}
 .about-hero-art{order:-1;width:min(84vw,440px);max-width:none}
 .about-hero-copy{text-align:center}
 .about-hero-copy .eyebrow{margin-left:auto;margin-right:auto}
 .about-hero-copy .eyebrow:before{content:'';flex:0 1 auto;width:34px;min-width:14px;height:1.5px;background:currentColor;margin-right:.14em}
 .about-hero-lead{margin-left:auto;margin-right:auto}
 .about-hero-actions{justify-content:center}
}
@media(max-width:600px){.about-hero-inner{padding:24px var(--gutter) 52px}}

/* Paired buttons under centred copy share the row evenly, and go full width together when they have to stack. */
@media(max-width:600px){#hero.hero-v3 .hero-actions .button,.about-hero-actions .button{flex:1 1 auto}}

/* Page banners (Menu and Contact): the arch becomes a framed window above the copy. */
@media(max-width:760px){
 .page-banner-inner{display:flex;flex-direction:column;align-items:center}
 .page-banner-frame{order:-1;width:min(62vw,300px);margin:40px auto 0}
 .page-banner-frame:before{inset:-10px;border:1px solid #ed797155;border-radius:999px 999px 30px 30px}
 .page-banner.red .page-banner-frame:before{border-color:#fff8ee80}
 .page-banner-art{aspect-ratio:1 / 1;border-radius:999px 999px 20px 20px}
 .page-banner-copy{padding:30px 0 48px;text-align:center}
 .page-banner-copy .eyebrow{margin-left:auto;margin-right:auto}
 .page-banner-copy .eyebrow:before{content:'';flex:0 1 auto;width:34px;min-width:14px;height:1.5px;background:currentColor;margin-right:.14em}
 .page-banner-lead{margin-left:auto;margin-right:auto}
 .page-banner-actions,.page-banner .menu-plates{justify-content:center}
}

/* Stories and Gallery: no art, so the copy and the switch centre. */
@media(max-width:760px){
 .hub-head-inner{flex-direction:column;align-items:center;text-align:center}
 .hub-head-inner .eyebrow{margin-left:auto;margin-right:auto}
 .hub-head-inner .eyebrow:before{content:'';flex:0 1 auto;width:34px;min-width:14px;height:1.5px;background:currentColor;margin-right:.14em}
 .hub-lead{margin-left:auto;margin-right:auto}
}

/* The Good Neighbour hero: the heart mark first. */
@media(max-width:900px){
 .gn-hero-inner{gap:28px;padding:36px var(--gutter) 60px}
 .gn-hero-mark{order:-1;justify-self:center;width:min(80vw,340px)}
 .gn-hero-copy{text-align:center}
 .gn-hero-copy .eyebrow{margin-left:auto;margin-right:auto}
 .gn-hero-copy .eyebrow:before{content:'';flex:0 1 auto;width:34px;min-width:14px;height:1.5px;background:currentColor;margin-right:.14em}
 .gn-hero .gn-lead{margin-left:auto;margin-right:auto}
 .gn-hero .gn-actions{justify-content:center}
}

/* The closing order bands (Menu, and The Good Neighbour's "Back to the food"). */
@media(max-width:860px){
 .order-band-inner{justify-items:center}
 .order-band-art{order:-1;width:min(70vw,340px)}
 .order-band-copy{text-align:center}
 .order-band-copy .eyebrow{margin-left:auto;margin-right:auto}
 .order-band-copy .eyebrow:before{content:'';flex:0 1 auto;width:34px;min-width:14px;height:1.5px;background:currentColor;margin-right:.14em}
 .order-band-copy>p:not(.eyebrow){margin-left:auto;margin-right:auto}
 .order-band-actions{justify-content:center}
}

/* About: The Good Neighbour band already leads with its mark; the copy centres under it. */
@media(max-width:900px){
 .neighbour-inner{justify-items:center;gap:32px}
 .neighbour-mark{justify-self:center;width:min(64vw,300px)}
 .neighbour-copy{text-align:center}
 .neighbour-copy .eyebrow{margin-left:auto;margin-right:auto}
 .neighbour-copy .eyebrow:before{content:'';flex:0 1 auto;width:34px;min-width:14px;height:1.5px;background:currentColor;margin-right:.14em}
 .neighbour-copy p{margin-left:auto;margin-right:auto}
}

/* Homepage contact: the photo first, the copy and buttons centred, then the numbers as a card of their own. */
@media(max-width:900px){
 #contact.contact-feature{gap:0}
 #contact .contact-feature-media{display:contents}
 #contact .contact-feature-photo{order:-1;width:100%;max-width:560px;justify-self:center;margin:0 0 36px}
 #contact .contact-feature-copy{justify-self:center;text-align:center}
 #contact .contact-feature-copy>p{margin-left:auto;margin-right:auto}
 #contact .contact-feature-copy .actions{justify-content:center}
 #contact.contact-feature .contact-numbers{order:1;justify-self:center;width:100%;max-width:560px;margin:32px 0 0;border:1px solid #e7e0d8}
}
@media(max-width:600px){#contact.contact-feature .contact-numbers{margin:28px 0 0}}

/* The Good Neighbour strip (homepage, and the foot of a report) and the Contact page's card: mark, copy, button, stacked and centred. */
@media(max-width:780px){
 .gn-strip{padding:52px var(--gutter) 56px}
 .gn-strip-inner{grid-template-columns:minmax(0,1fr);justify-items:center;gap:0;text-align:center}
 .gn-strip-mark{width:84px;margin-bottom:24px}
 .gn-strip-copy .eyebrow{margin-left:auto;margin-right:auto;margin-bottom:12px}
 .gn-strip-copy .eyebrow:before{content:'';flex:0 1 auto;width:34px;min-width:14px;height:1.5px;background:currentColor;margin-right:.14em}
 .gn-strip h2{font-size:clamp(30px,8.4vw,40px)}
 .gn-strip-line{max-width:32em;margin:12px auto 0}
 .gn-strip .button{grid-column:auto;justify-self:center;margin-top:28px}
 .contact-channels-band .contact-gn{grid-template-columns:minmax(0,1fr);justify-items:center;gap:0;padding:36px 24px 34px;text-align:center}
 .contact-gn-mark{width:76px;height:76px;margin-bottom:20px}
 .contact-gn-mark svg{width:34px;height:34px}
 .contact-channel.contact-gn h2{margin:0 0 10px}
 .contact-gn p{max-width:30em;margin:0 auto}
 .contact-channel.contact-gn .button{grid-column:auto;justify-self:center;margin-top:24px}
}

/* Centred copy balances its lines, so a lead never ends on a single word. */
@media(max-width:900px){
 #hero.hero-v3 .hero-copy .intro,.about-hero-lead,.page-banner-lead,.hub-lead,.gn-hero .gn-lead,.order-band-copy>p:not(.eyebrow),.neighbour-copy p,#contact .contact-feature-copy>p,.gn-strip-line,.contact-gn p,#site-footer .footer-panel p:not(.eyebrow){text-wrap:balance}
}

/* The footer's follow panel is a statement card too: on phones it centres, and its three buttons wrap around the middle. */
@media(max-width:760px){
 .footer-panel-inner{justify-items:center;text-align:center}
 #site-footer .footer-panel p:not(.eyebrow){margin-left:auto;margin-right:auto}
 .footer-social{justify-content:center}
}

/* Contact: the call card's label puts "Call only" on a line of its own whenever the card is too narrow for both, instead of breaking
   mid-phrase. Side by side, the WhatsApp card keeps the same label height so the two numbers still line up. */
.contact-channel{container-type:inline-size}
.contact-channel h2 .call-only:before{content:'· '}
@container (max-width:350px){
 .contact-channel h2 .call-only{display:block}
 .contact-channel h2 .call-only:before{content:none}
}
@media(min-width:781px){@container (max-width:350px){.contact-channel h2{min-height:3em}}}

/* Centred eyebrows on the smallest phones: shorter rules, as for .eyebrow.centred. */
@media(max-width:400px){
 :is(#hero.hero-v3 .hero-copy,.about-hero-copy,.page-banner-copy,.hub-head-inner,.gn-hero-copy,.order-band-copy,.neighbour-copy,.gn-strip-copy,#quick-combos .combo-heading) .eyebrow{gap:12px}
 :is(#hero.hero-v3 .hero-copy,.about-hero-copy,.page-banner-copy,.hub-head-inner,.gn-hero-copy,.order-band-copy,.neighbour-copy,.gn-strip-copy,#quick-combos .combo-heading) .eyebrow:before,
 :is(#hero.hero-v3 .hero-copy,.about-hero-copy,.page-banner-copy,.hub-head-inner,.gn-hero-copy,.order-band-copy,.neighbour-copy,.gn-strip-copy,#quick-combos .combo-heading) .eyebrow:after{width:22px}
}

/* Footer: back to top stays an icon in a circle at every width. On phones the circle grows to a 48px target; touch screens get a pressed
   state instead of a hover that would stick after a tap; the browser's own button styling is switched off. */
#site-footer.footer-v3 .footer-bottom .back-to-top{-webkit-appearance:none;appearance:none;aspect-ratio:1;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
#site-footer.footer-v3 .footer-bottom p{text-wrap:balance}
@media(max-width:600px){
 #site-footer.footer-v3 .footer-bottom .back-to-top{width:48px;height:48px}
 #site-footer.footer-v3 .footer-bottom .back-to-top svg{width:22px;height:22px}
}
@media(hover:none){
 #site-footer.footer-v3 .footer-bottom .back-to-top:hover{background:transparent;border-color:#ffffff3d;color:#fff8ee;transform:none}
 #site-footer.footer-v3 .footer-bottom .back-to-top:active{background:#fff8ee;border-color:#fff8ee;color:var(--red)}
}

/* About: the vision. The statement stays word for word; it is set as a poster in three lines, with a plate of jollof and tilapia beside
   "Ghana's" and the pot mark sealing "Brand.", over a warm glow. As it scrolls into view the lines rise, the plate spins in and the seal lands. */
.about-promise-vision{position:relative;isolation:isolate;display:block;grid-column:1/-1;margin-top:clamp(64px,8vw,124px);padding:0;border-top:0;text-align:center}
.about-promise-vision:before{content:'';position:absolute;z-index:-1;left:50%;top:60%;width:min(94vw,1000px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#9a18154d 0%,#9a181500 62%);transform:translate(-50%,-50%);pointer-events:none}
.about-promise-vision .eyebrow{margin-bottom:clamp(22px,2.4vw,34px)}
.about-promise-vision .vision-statement{margin:0;font-family:var(--display);font-size:clamp(54px,8.6vw,138px);font-weight:700;line-height:.92;letter-spacing:-.012em;color:var(--paper)}
.about-promise-vision .vision-statement small{display:block;margin:0 0 .55em;font-size:clamp(21px,2.3vw,34px);line-height:1.1;letter-spacing:0;color:#d9cec4}
.about-promise-vision .vision-line{display:block;color:var(--paper)}
.about-promise-vision .vision-accent{color:#ed7971}
.about-promise-vision .vision-plate,.about-promise-vision .vision-seal{display:inline-block;width:.86em;height:.86em;vertical-align:-.12em}
.about-promise-vision .vision-plate{margin-left:.14em}
.about-promise-vision .vision-plate img{display:block;width:100%;height:100%;border-radius:50%;filter:drop-shadow(0 .07em .1em #000a)}
.about-promise-vision .vision-seal{position:relative;margin-right:.16em;border-radius:50%;background:#fff8ee;box-shadow:inset 0 0 0 .05em #fff8ee,inset 0 0 0 .065em #9a181566,0 .07em .14em #0008}
.about-promise-vision .vision-seal:before{content:'';position:absolute;inset:20% 19% 24%;background:var(--red);-webkit-mask:url('assets/pot-mark-mask.png') center / contain no-repeat;mask:url('assets/pot-mark-mask.png') center / contain no-repeat}
.about-promise-vision.will-enter :is(.eyebrow,small,.vision-line){transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.about-promise-vision.will-enter small{transition-delay:.08s}
.about-promise-vision.will-enter .vision-line:nth-of-type(1){transition-delay:.16s}
.about-promise-vision.will-enter .vision-line:nth-of-type(2){transition-delay:.26s}
.about-promise-vision.will-enter .vision-line:nth-of-type(3){transition-delay:.36s}
.about-promise-vision.will-enter .vision-plate img{transition:opacity .5s ease .5s,transform 1.25s cubic-bezier(.2,1.2,.4,1) .5s}
.about-promise-vision.will-enter .vision-seal{transition:opacity .4s ease .8s,transform .9s cubic-bezier(.2,1.5,.4,1) .8s}
.about-promise-vision.will-enter:not(.is-in) :is(.eyebrow,small,.vision-line){opacity:0;transform:translateY(26px)}
.about-promise-vision.will-enter:not(.is-in) .vision-plate img{opacity:0;transform:rotate(-170deg) scale(.4)}
.about-promise-vision.will-enter:not(.is-in) .vision-seal{opacity:0;transform:scale(.3) rotate(-30deg)}
@media(prefers-reduced-motion:reduce){.about-promise-vision.will-enter *{transition:none!important;opacity:1!important;transform:none!important}}
@media(max-width:600px){
 .about-promise-vision{margin-top:76px}
 .about-promise-vision .vision-statement{font-size:clamp(44px,15.2vw,66px)}
 .about-promise-vision .vision-statement small{font-size:20px}
}
