/* Shared editorial system. Keep this last in each page/template. */
:root{--hb-night:#0b1713;--hb-paper:#f4f1e9;--hb-blue:#2c56a3;--hb-ease:cubic-bezier(.22,.68,.18,1)}
.hb-hero.hb-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);margin:0!important;padding:0!important;min-height:calc(86svh - 84px)!important;height:auto!important;background:var(--hb-night)!important;color:var(--hb-paper);overflow:hidden;gap:0!important}
.hb-hero .hb-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:clamp(32px,4vw,64px);min-width:0;gap:36px}
.hb-hero .hb-kicker{font:500 11px/1.5 'DM Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin:0}
.hb-hero .hb-lockup{display:flex;align-items:center;gap:22px;margin:28px 0;min-width:0;width:100%}
.hb-hero .hb-badge{flex:none;background:#d88422;color:#0b1713;box-shadow:6px 6px 0 var(--hb-blue);padding:12px 8px;writing-mode:vertical-rl;transform:rotate(180deg);font:800 21px/1 'Syne',sans-serif;letter-spacing:.06em}
.hb-hero .hb-title{font:800 clamp(30px,4.3vw,72px)/1.02 'Syne',sans-serif!important;letter-spacing:-.065em!important;margin:0!important;white-space:normal!important;color:var(--hb-paper)!important;overflow-wrap:normal!important}
.hb-title .hb-dot{color:var(--hb-blue);font-size:.25em;letter-spacing:0;margin-left:.35em;display:inline-block;vertical-align:middle;animation:hb-dot 2.8s ease-in-out infinite}
.hb-hero .hb-promise{font:600 clamp(22px,2.3vw,34px)/1.3 'Syne',sans-serif;letter-spacing:-.025em;margin:0 0 28px;max-width:25ch}
.hb-hero .hb-promise span{display:block}.hb-hero .hb-date{font:500 12px/1.6 'DM Sans',sans-serif;letter-spacing:.1em;margin-bottom:10px}
.hb-hero .hb-hero-cta{display:inline-flex!important;align-items:center;gap:24px;min-height:48px;padding:8px 0!important;color:var(--hb-paper)!important;background:none!important;border:0!important;border-bottom:1px solid #ffffff65!important;font:500 12px/1.5 'DM Sans',sans-serif!important;text-transform:uppercase;letter-spacing:.08em;transition:gap .35s var(--hb-ease)}
.hb-hero .hb-hero-cta:hover{gap:34px}.hb-hero-cta .hb-arrow{font-size:26px;color:#75b4a5;line-height:1}
.hb-hero .hb-hero-media{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;min-height:100%;margin:0!important;z-index:1;overflow:hidden;clip-path:inset(0);animation:hb-photo-enter 1s var(--hb-ease) both}
.hb-hero-media img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;display:block}.hb-hero-media figcaption{position:absolute;bottom:18px;right:18px;background:#0b1713cc;color:#fff;padding:6px 10px;font-size:10px}
.hb-hero-copy>*{animation:hb-copy-enter .8s var(--hb-ease) both}.hb-hero-copy>:nth-child(2){animation-delay:.12s}.hb-hero-copy>:nth-child(3){animation-delay:.22s}
@keyframes hb-photo-enter{from{clip-path:inset(0 0 0 100%);transform:translateX(24px)}to{clip-path:inset(0);transform:none}}
@keyframes hb-copy-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes hb-dot{50%{opacity:.65;transform:scale(.85)}}
.hb-motion-ready .hb-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--hb-ease),transform .7s var(--hb-ease)}.hb-motion-ready .hb-reveal.hb-visible{opacity:1;transform:none}
.brunch-photo img,.address-track img{transition:transform .7s var(--hb-ease),filter .7s var(--hb-ease)}
@media(hover:hover){.brunch-card:hover .brunch-photo img,.address:hover .address-track img{transform:scale(1.035)}}
.book-brunch,.address-links a{min-height:44px;display:inline-flex;align-items:center;transition:background .3s,color .3s}
@media(max-width:800px){.hb-hero.hb-hero{grid-template-columns:minmax(0,1fr);min-height:0!important}.hb-hero .hb-hero-copy{padding:30px 20px 36px;gap:24px;min-height:380px}.hb-hero .hb-lockup{gap:17px;margin:22px 0}.hb-hero .hb-title{font-size:clamp(24px,7vw,52px)!important;line-height:1.1!important}.hb-hero .hb-badge{font-size:17px;padding:10px 7px}.hb-hero .hb-promise{font-size:22px;margin-bottom:22px}.hb-hero .hb-hero-media{height:220px!important;min-height:220px;animation:hb-copy-enter .8s var(--hb-ease) both}.hb-hero .hb-hero-media img{object-position:center}.hb-hero .hb-hero-cta{font-size:11px!important}.hb-hero .hb-date{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.hb-hero *{animation:none!important;transition:none!important}.hb-motion-ready .hb-reveal{opacity:1;transform:none;transition:none}.brunch-photo img,.address-track img{transition:none!important;transform:none!important}}

.hb-hero .hb-badge{inline-size:100px;block-size:34px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
.hb-hero .hb-title{white-space:nowrap!important}
.feed,.brunch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding-top:28px}
.feed .address:nth-child(n),.brunch-grid .brunch-card{grid-column:auto;padding:0;min-width:0;background:#fff}
.feed .address:nth-child(n) .address-media,.brunch-photo{aspect-ratio:4/3}
.feed .address-body{padding:26px}.feed .address h3{font-size:32px;line-height:1.1}.feed .address-links a{background:#2c56a3;color:#fff;padding:10px 14px;border:0;font-size:11px}
@media(max-width:1000px) and (min-width:641px){.feed,.brunch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.feed,.brunch-grid{grid-template-columns:minmax(0,1fr);gap:30px}.hb-hero .hb-badge{inline-size:80px;block-size:30px}.feed .address h3{font-size:30px}}

/* Places: photography first, quiet typography, stories on demand. */
.feed:has(.hb-place),.brunch-grid:has(.hb-place){grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:56px 32px}
.feed .hb-place.address:nth-child(n),.brunch-grid .hb-place{background:transparent;border:0;box-shadow:none;display:block;padding:0}
.feed .hb-place.address:nth-child(n) .address-media,.hb-place .brunch-photo{aspect-ratio:4/3;border-radius:14px;isolation:isolate;background:#deddd5}
.hb-place .address-track img,.hb-place .brunch-photo img{filter:none;transform:none!important;transition:filter .4s ease}
.hb-place .hb-place-category,.hb-place .brunch-photo>.hb-place-category{position:absolute;inset:16px auto auto 16px;z-index:2;background:rgba(244,241,233,.94);color:#13251b;padding:7px 12px;border-radius:30px;font:500 11px/1.4 'DM Sans',sans-serif;letter-spacing:.015em;text-transform:none;max-width:85%}
.feed .hb-place .address-body,.hb-place .brunch-body{padding:20px 2px 0!important;display:block}
.hb-place .hb-place-meta{display:flex;justify-content:space-between;gap:16px;color:#66706b;font:400 12px/1.5 'DM Sans',sans-serif;letter-spacing:0;text-transform:none;margin-bottom:9px}
.hb-place-meta>span:last-child{flex-shrink:0}
.feed .hb-place h3,.hb-place .brunch-body h2{font:600 32px/1.16 'DM Sans',sans-serif!important;letter-spacing:-.045em!important;margin:0 0 12px!important;color:#10251d}
.hb-place .hb-place-teaser{font:400 15px/1.65 'DM Sans',sans-serif!important;color:#5d6861;margin:0 0 18px;max-width:48ch;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hb-place .hb-place-details{padding:0!important;margin:0;border:0;border-top:1px solid #10251d25;border-bottom:1px solid #10251d25;font-size:14px}
.hb-place-details summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:52px;padding:12px 0;font:500 13px/1.4 'DM Sans',sans-serif;cursor:pointer;color:#10251d}
.hb-place-details summary::-webkit-details-marker{display:none}.hb-place-details summary>span{font:300 24px/1 'DM Sans',sans-serif;transition:transform .25s}
.hb-place-details[open] summary>span{transform:rotate(45deg)}
.hb-place .hb-place-story{padding:0 0 20px;max-width:56ch}.hb-place .hb-place-story p{font:400 14px/1.75 'DM Sans',sans-serif!important;color:#57635b;margin:0 0 16px;display:block;overflow:visible}
.hb-place .hb-place-story .hb-place-address{font-size:12px!important;color:#10251d;padding-top:14px;border-top:1px solid #10251d18}.hb-place-story small{font:400 11px/1.6 'DM Sans',sans-serif;color:#66706b}.hb-place-story small a{text-decoration:underline}
.hb-place .hb-place-links{display:flex;gap:22px;flex-wrap:wrap;padding-top:8px;margin:0}
.hb-place-links a{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:#10251d;background:none!important;border:0!important;padding:0!important;font:500 12px/1.4 'DM Sans',sans-serif;letter-spacing:0;text-transform:none;text-decoration:none}
.hb-place-links svg{width:15px;height:15px;flex:none;transition:transform .25s}.hb-place-links a:hover svg{transform:translate(2px,-2px)}.hb-place-links a:hover{text-decoration:underline;text-underline-offset:4px}
.hb-gallery-controls{position:absolute;z-index:2;bottom:14px;right:14px;display:flex;align-items:center;gap:4px;padding:2px;background:#f4f1e9f2;color:#10251d;border-radius:24px;box-shadow:0 2px 12px #0001}
.hb-gallery-controls button{width:40px;height:40px;padding:0;border:0;background:none;border-radius:50%;color:inherit;cursor:pointer;font:400 24px/1 'DM Sans',sans-serif}.hb-gallery-controls button:hover{background:#10251d12}.hb-gallery-position{font:500 11px/1.4 'DM Sans',sans-serif;min-width:30px;text-align:center}
.hb-place summary:focus-visible,.hb-place a:focus-visible,.hb-gallery-controls button:focus-visible{outline:2px solid #2c56a3;outline-offset:4px}
@media(max-width:640px){.feed:has(.hb-place),.brunch-grid:has(.hb-place){grid-template-columns:minmax(0,1fr);gap:42px}.feed .hb-place h3,.hb-place .brunch-body h2{font-size:28px!important}.hb-place .hb-place-meta{font-size:11px;gap:10px}.hb-place .hb-place-teaser{font-size:14px!important;line-height:1.65!important;margin-bottom:16px}.hb-place .brunch-photo,.feed .hb-place.address:nth-child(n) .address-media{border-radius:12px;aspect-ratio:1.2}.hb-place .hb-place-category,.hb-place .brunch-photo>.hb-place-category{top:12px;left:12px}.hb-place .hb-place-links{gap:20px}.hb-place .hb-place-story p{font-size:14px!important}}
@media(prefers-reduced-motion:reduce){.hb-place *{scroll-behavior:auto!important;transition:none!important}}
/* Sarah's restored direction: full-frame photography, never split bands. */
.hb-hero.hb-hero{display:block;grid-template-columns:none;min-height:660px!important;height:calc(92svh - 80px)!important;max-height:980px;background:#0b1713!important}
.hb-hero.hb-hero::before{display:none!important}.hb-hero.hb-hero::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(5,14,10,.28) 0%,rgba(5,14,10,.08) 35%,rgba(5,14,10,.72) 100%),linear-gradient(90deg,rgba(5,14,10,.38),transparent 75%)}
.hb-hero .hb-hero-media{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:100%!important;z-index:0;margin:0!important;animation:hb-photo-full 1.1s var(--hb-ease) both}
.hb-hero .hb-hero-media img{height:100%;width:100%;object-fit:cover;object-position:center}.hb-hero .hb-hero-media figcaption{display:none}
.hb-hero .hb-hero-copy{position:relative;z-index:2;height:100%;min-height:0;box-sizing:border-box;padding:clamp(32px,5vw,76px);gap:24px;background:none;justify-content:space-between;text-shadow:0 2px 20px #0004}
.hb-hero .hb-kicker{opacity:1;color:#fff}.hb-hero .hb-lockup{display:block;margin:0;width:auto;max-width:100%}.hb-hero .hb-badge{display:block;writing-mode:horizontal-tb;transform:none;inline-size:auto;block-size:auto;background:none;color:#fff;box-shadow:none;padding:0;margin:0 0 12px;font:500 12px/1.4 'DM Sans',sans-serif;letter-spacing:.16em}
.hb-hero .hb-title{font-size:clamp(54px,8vw,120px)!important;line-height:.94!important;white-space:normal!important;text-shadow:0 3px 30px #0003}.hb-hero .hb-dot{color:#efc47e;animation:none}.hb-hero .hb-promise{font-size:clamp(23px,2.5vw,36px);max-width:32ch;margin:0 0 22px}.hb-hero .hb-hero-cta{color:#fff!important;border-bottom-color:#ffffffa6!important}.hb-hero-cta .hb-arrow{color:#fff}.hb-hero .hb-date{color:#fff}
@keyframes hb-photo-full{from{clip-path:inset(0 0 0 100%);transform:translateX(4%)}to{clip-path:inset(0);transform:translateX(0)}}
@media(max-width:800px){.hb-hero.hb-hero{height:calc(88svh - 76px)!important;min-height:560px!important;max-height:800px}.hb-hero .hb-hero-copy{padding:28px 22px 34px;gap:24px;min-height:0;height:100%}.hb-hero .hb-hero-media{height:100%!important;min-height:100%!important;animation:hb-copy-enter .8s var(--hb-ease) both}.hb-hero .hb-title{font-size:clamp(38px,9.3vw,64px)!important;line-height:1!important}.hb-hero .hb-promise{font-size:22px;line-height:1.3;max-width:28ch}.hb-hero .hb-badge{font-size:11px}.hb-hero .hb-kicker{font-size:10px}.hb-hero .hb-hero-cta{font-size:10px!important;gap:20px}.hb-hero.rx-hero .hb-hero-media img{object-position:58% center}}
@media(prefers-reduced-motion:reduce){.hb-hero .hb-hero-media,.hb-hero .hb-hero-copy>*{animation:none!important;transform:none!important;clip-path:none!important}}
