/* HALA base.css — shared guide-template rules, extracted 2026-07-07.
   Loaded BEFORE each page's inline <style>; page rules keep overriding.
   Edit here once, not 22 times. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--fb);font-size:16px;line-height:1.6;color:var(--ink);background:var(--plaster);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block;object-fit:cover}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--g)}
.hala-nav__inner{max-width:1180px;margin:0 auto;padding:0 clamp(18px,4vw,52px);height:64px;display:flex;align-items:center;justify-content:space-between}
.hala-nav__wordmark:hover{letter-spacing:.18em;color:#B25238}
.hala-nav__links{display:flex;align-items:center;gap:2rem;list-style:none}
.hala-nav__links a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1px;background:#B25238;transition:width .28s}
.hala-nav__links a:hover{opacity:1;color:#B25238}
.hala-nav__links a:hover::after{width:100%}
.hala-nav__links a.active{opacity:1;color:#1F1A14}
.hala-nav__links a.active::after{width:100%;background:#1F1A14;opacity:.3}
.hala-nav__toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}
.hala-nav__toggle span{display:block;width:22px;height:1px;background:#1F1A14;transition:all .3s}
.hala-nav__drawer a:hover{opacity:1;color:#B25238}
.hala-nav__drawer.open{display:flex}
@media(max-width:768px){.hala-nav__links{display:none}.hala-nav__toggle{display:flex}}
.hala-footer__inner{max-width:1180px;margin:0 auto;padding:3.5rem clamp(18px,4vw,52px) 2.5rem;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2rem;align-items:start}
.hala-footer__wordmark:hover{letter-spacing:.18em;color:#B25238}
.hala-footer__links{list-style:none;display:flex;flex-direction:column;gap:.65rem}
.hala-footer__links a::after{content:'';position:absolute;bottom:-1px;left:0;width:0;height:.5px;background:#B25238;transition:width .25s}
.hala-footer__links a:hover{opacity:1;color:#B25238}
.hala-footer__links a:hover::after{width:100%}
.hala-footer__bottom{max-width:1180px;margin:0 auto;padding:1.25rem clamp(18px,4vw,52px);border-top:.5px solid rgba(31,26,20,.14);display:flex;align-items:center;justify-content:space-between;gap:1rem}
.hala-footer__social a:hover{opacity:1;color:#B25238}
@media(max-width:1024px){.hala-footer__inner{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.hala-footer__inner{grid-template-columns:1fr;gap:2.5rem}.hala-footer__bottom{flex-direction:column;align-items:flex-start;gap:.75rem}}
.bc{background:var(--stone);border-bottom:1px solid var(--hair);padding:10px 0}
.bc-inner{display:flex;align-items:center;gap:7px;font-family:var(--fu);font-size:11px;font-weight:500;letter-spacing:.06em;color:var(--ink-60)}
.hero{background:var(--plaster);padding:clamp(48px,7vw,88px) 0 0;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,660px) minmax(0,1fr);gap:clamp(44px,5vw,72px);align-items:end;padding-bottom:clamp(40px,5vw,68px)}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr;gap:32px}}
.hero-meta{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.hm{text-transform:none;font-family:var(--fb);font-variant-numeric:tabular-nums;font-size:13px;font-weight:500;letter-spacing:.02em;color:var(--ink-60);display:flex;align-items:center;gap:7px}
.hero-sub{font-family:var(--fb);font-size:clamp(15px,1.3vw,17px);line-height:1.65;color:var(--ink-60);max-width:54ch;margin-bottom:26px}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap}
.hero-imgs{display:grid;grid-template-rows:auto auto;gap:10px}
.hero-img-main{aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;position:relative}
.hero-img-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hero-img-sm{aspect-ratio:3/2;border-radius:var(--r);overflow:hidden}
.img-ph{width:100%;height:100%;display:flex;align-items:flex-end;padding:12px 14px}
.hero-img-cap{text-transform:none;font-family:var(--fb);font-size:11.5px;font-weight:500;letter-spacing:.02em;color:var(--ink-38);text-align:right;padding-top:4px}
.info-block{background:var(--stone);padding:18px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.info-card{background:var(--plaster);border:1px solid var(--hair);border-radius:var(--r);padding:20px 28px;display:grid;grid-template-columns:repeat(8,1fr)}
@media(max-width:800px){.info-card{grid-template-columns:repeat(4,1fr)}}
@media(max-width:500px){.info-card{grid-template-columns:repeat(2,1fr)}}
.if{padding:6px 16px;border-right:1px solid var(--hair);position:relative}
.if:last-child{border-right:none}
@media(max-width:800px){.if{padding:10px 12px;border-bottom:1px solid var(--hair)}.if:nth-child(4n){border-right:none}.if:nth-last-child(-n+4){border-bottom:none}}
@media(max-width:500px){.if:nth-child(2n){border-right:none}.if:nth-last-child(-n+2){border-bottom:none}}
.if-l{text-transform:none;font-family:var(--fb);font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--ink-60);margin-bottom:4px}
.if-v{font-family:var(--fu);font-variant-numeric:tabular-nums;font-size:13px;font-weight:400;color:var(--ink);line-height:1.3}
.gnav{background:var(--plaster);border-bottom:1px solid var(--hair);position:sticky;top:64px;z-index:190}
.gnav-inner{display:flex;overflow-x:auto;scrollbar-width:none}
.gnav-inner::-webkit-scrollbar{display:none}
.gt{font-family:var(--fu);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-60);padding:13px 18px;white-space:nowrap;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;cursor:pointer;text-decoration:none;display:inline-block}
.gt:hover{color:var(--ink)}
.sec{padding:clamp(52px,7vw,96px) 0}
.bg-plaster{background:var(--plaster)}
.bg-stone{background:var(--stone)}
.bg-parchment{background:var(--parchment)}
.ey{font-family:var(--fb);font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--tc,var(--terra));display:block;margin-bottom:12px}
.sec-h{font-family:var(--fd);font-style:italic;font-weight:400;font-size:clamp(28px,4vw,52px);line-height:1.02;letter-spacing:-.01em;margin-bottom:12px}
.ed{font-family:var(--fb);font-size:clamp(15px,1.2vw,17px);line-height:1.7;color:var(--ink-60);max-width:58ch}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--fb);font-size:14px;font-weight:400;letter-spacing:.01em;padding:12px 24px;border-radius:var(--r);border:1px solid currentColor;position:relative;overflow:hidden;transition:color .34s;isolation:isolate;cursor:pointer;text-decoration:none}
.btn:hover::before{transform:translateX(0)}
.btn-pri{color:var(--tile)}
.btn-pri:hover{color:var(--plaster)}
.btn-tc{color:var(--tc)}
.btn-tc:hover{color:var(--plaster)}
.btn-stone{color:var(--ink)}
.btn-stone:hover{color:var(--plaster)}
.btn-sm{font-size:12px;padding:9px 18px}
.nb{background:var(--plaster);padding:24px 20px;position:relative;transition:background .22s}
.nb:hover{background:#ece8e1}
.nb:hover::after{transform:scaleX(1)}
.nb-name{font-family:var(--fd);font-size:21px;font-weight:400;line-height:1.1;margin-bottom:5px}
.nb-desc{font-family:var(--fb);font-size:13px;line-height:1.62;color:var(--ink-60);margin-bottom:13px}
.nb-tags{display:flex;gap:5px;flex-wrap:wrap}
.nbt{font-family:var(--fu);font-size:9px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border:.5px solid var(--hair);border-radius:2px;color:var(--ink-38)}
.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:start}
@media(max-width:860px){.intro-grid{grid-template-columns:1fr;gap:36px}}
.qt-box{padding:20px 22px;background:var(--stone);border-radius:var(--r);border:1px solid var(--hair);margin-top:28px}
.img-strip-ph{width:100%;height:clamp(280px,38vw,480px);display:block;position:relative}
.img-strip-caption{position:absolute;bottom:0;left:0;right:0;padding:clamp(20px,3vw,36px) clamp(20px,4vw,56px);background:linear-gradient(transparent,rgba(31,26,20,.52))}
.menu-card{margin-top:36px;background:var(--plaster);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:8px clamp(20px,3vw,44px) 12px;position:relative}
.menu-card::before,.menu-card::after{content:"";position:absolute;left:0;right:0;height:1px;background:var(--ink);opacity:.35}
.menu-card::before{top:5px}
.menu-card::after{bottom:5px}
.menu-row{display:grid;grid-template-columns:1fr auto;column-gap:18px;padding:22px 0;border-bottom:1px solid rgba(31,26,20,.10);align-items:baseline;transition:padding-left .3s ease}
.menu-row:last-child{border-bottom:none}
.menu-row:hover{padding-left:6px}
.menu-mid{min-width:0}
.menu-name{font-family:var(--fd);font-style:italic;font-weight:400;font-size:clamp(24px,2.4vw,34px);line-height:1.05;color:var(--ink);margin:0 0 6px;letter-spacing:-.005em}
.menu-take{font-family:var(--fb);font-size:15.5px;line-height:1.55;color:var(--ink-80);margin:0;max-width:62ch}
.menu-take em{font-style:italic;color:var(--tc)}
.menu-where .menu-where-spot{display:block;color:var(--ink);font-size:11px;letter-spacing:.10em;margin-bottom:3px}
.menu-where .menu-where-town{display:block;color:var(--ink-60);font-weight:500;letter-spacing:.14em}
.gnav{background:var(--plaster);border-bottom:1px solid var(--hair);box-shadow:none}
.gnav-inner{display:flex;max-width:var(--max);margin:0 auto;padding:0 var(--g);gap:34px;align-items:stretch;overflow-x:auto;overflow-y:visible;scrollbar-width:none}
.gt::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:2px;background:#B25238;transform:scaleX(0);transform-origin:left center;transition:transform .25s ease}
.gt:hover{color:#B25238}
.gt.active::after{transform:scaleX(1)}
.gt:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.cat-tabs.hala-track,.do-tabs.hala-track,.wp-tabs.hala-track{display:inline-flex;gap:2px;padding:5px;background:var(--stone,#EFE0C6);border:0;border-radius:14px;position:relative;max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin-top:28px;margin-bottom:28px;grid-template-columns:none;box-shadow:none;vertical-align:top}
.cat-tabs.hala-track::-webkit-scrollbar,.do-tabs.hala-track::-webkit-scrollbar,.wp-tabs.hala-track::-webkit-scrollbar{display:none}
.hala-track .ct,.hala-track .do-tab,.hala-track .wp-tab{flex:0 0 auto;position:relative;z-index:1;min-height:40px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;border:0;background:transparent;border-radius:10px;font-family:var(--fb);font-weight:600;font-size:14px;letter-spacing:.01em;text-transform:none;padding:11px 20px;color:rgba(31,26,20,.6);white-space:nowrap;line-height:1.2;box-shadow:none;text-align:center;cursor:pointer;transition:color .2s}
.hala-track .ct:hover:not(.active),.hala-track .do-tab:hover:not(.active),.hala-track .wp-tab:hover:not(.active){color:var(--terra,#B25238)}
.hala-track .ct.active,.hala-track .do-tab.active,.hala-track .wp-tab.active{color:var(--plaster,#F4EFE6);background:var(--terra,#B25238);box-shadow:0 2px 6px rgba(178,82,56,.3);transition:color .2s,background .2s}
.hala-track.has-puck .ct.active,.hala-track.has-puck .do-tab.active,.hala-track.has-puck .wp-tab.active{background:transparent;box-shadow:none}
.hala-track__puck{position:absolute;z-index:0;top:0;left:0;width:0;height:0;background:var(--terra,#B25238);border-radius:10px;box-shadow:0 2px 6px rgba(178,82,56,.3);pointer-events:none;transition:transform .28s cubic-bezier(.4,0,.2,1),width .28s cubic-bezier(.4,0,.2,1),height .28s cubic-bezier(.4,0,.2,1)}
.hala-track .ct:focus-visible,.hala-track .do-tab:focus-visible,.hala-track .wp-tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.hala-track .wp-tab small{color:inherit;opacity:.7;font-weight:400}
.hala-track .wp-tab.active small{color:var(--plaster,#F4EFE6);opacity:.85}

/* skip link — a11y (guide template) */
.skip-link{position:absolute;left:-9999px;top:0;z-index:1000;background:#1F1A14;color:#F4EFE6;font-family:var(--fb,sans-serif);font-size:14px;font-weight:600;padding:10px 18px;border-radius:0 0 6px 0;text-decoration:none}
.skip-link:focus{left:0}
.skip-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
main{display:block}
