/* Scoped to The Office only: other restaurant profiles keep their own theme. */
.office-brand {
  --coral: #1768ad;
  --navy: #102c43;
  --mint: #c8e6fb;
  --paper: #faf8f4;
  --line: #d4e0e8;
}
.office-brand .hero {
  background-position: center 51%;
}
.office-brand .hero[data-cover-layout="spotlight"] .hero-slide-media span[data-office-cover="sign"] {
  background-position: 70% top;
}
.office-brand .hero[data-cover-layout="spotlight"] .hero-slide-media span[data-office-cover="drafts"] {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media (min-width: 901px) {
  .office-brand .hero[data-cover-layout="spotlight"] .hero-copy { width: min(620px,52%); }
  .office-brand .hero[data-cover-layout="spotlight"] .hero-brand { margin-bottom: 0; }
  .office-brand .hero[data-cover-layout="spotlight"] .hero-brand:has(.hero-emblem:not([hidden])) { margin-bottom: 20px; }
  .office-brand .hero[data-cover-layout="spotlight"] .hero-brand > div,
  .office-brand .hero[data-cover-layout="spotlight"] .office-hours-inline { display: none; }
  .office-brand .hero[data-cover-layout="spotlight"] .hero-copy > p { max-width: 560px; line-height: 1.5; }
}
.office-brand .hero aside { display: none; }
.office-brand .hero .office-hours-inline { display: flex; flex-wrap: wrap; gap: 9px 24px; align-items: center; margin-top: 21px; color: #fff; font-weight: 650; text-shadow: 0 1px 3px #102c43; }
.office-brand .hero .office-hours-inline a { color: #fff; text-underline-offset: 4px; font-weight: 850; }
.office-brand .office-paths { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin: 0 0 36px; }
.office-brand .office-paths button { display: grid; gap: 11px; min-height: 116px; padding: 22px; border: 1px solid #d9e3eb; border-radius: 18px; background: #fff; color: #102c43; text-align: left; box-shadow: 0 12px 32px #102c430b; cursor: pointer; }
.office-brand .office-paths button:hover, .office-brand .office-paths button:focus-visible { border-color: #1768ad; transform: translateY(-2px); }
.office-brand .office-paths b { font: 700 25px/1.1 Georgia,serif; }
.office-brand .office-paths span { color: #1768ad; font-weight: 800; }
.office-brand .office-menu-heading { max-width: 730px; }
.office-brand .office-menu-pages { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; margin: 28px 0 36px; }
.office-brand .office-menu-pages a { display: grid; gap: 12px; padding: 14px; border: 1px solid #d9e3eb; border-radius: 20px; background: #fff; color: #1768ad; text-decoration: none; font-weight: 800; box-shadow: 0 14px 36px #102c430d; }
.office-brand .office-menu-pages img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center; border-radius: 10px; background: #f1f5f8; }
.office-brand .office-menu-pages span { padding: 0 8px 5px; }
.office-brand .office-menu-callout { margin-bottom: 50px; }
.office-brand .hero-emblem {
  width: 190px;
  max-width: 190px;
  height: 112px;
  overflow: hidden;
  border: 2px solid #fff;
  border-radius: 16px;
  background: #172b3b;
}
.office-brand .hero-emblem img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.office-brand .venue-mark {
  width: 112px;
  max-width: 112px;
  height: 50px;
  border-radius: 8px;
  overflow: hidden;
  border-color: #8cc7f1;
  background: #102c43;
}
.office-brand .venue-mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
}
.office-brand .hero-actions button:first-child,
.office-brand .hero-actions .hero-carryout-link,
.office-brand .quick-order .button-link,
.office-brand .primary,
.office-brand .topbar #owner-mode,
.office-brand .summary button:not(:disabled),
.office-brand .form button,
.office-brand .callout button,
.office-brand .dashboard-head button,
.office-brand .club .button-link {
  background: #1768ad;
  border-color: #1768ad;
  color: #fff;
}
.office-brand .hero-actions button:nth-child(2),
.office-brand .office-outline {
  background: #fff;
  border: 1px solid #fff;
  color: #142c42;
}
.office-brand .club { background: #e7f2fa; }
.office-brand .club h3,
.office-brand .club p,
.office-brand .club small { color: #102c43; }
.office-brand .hero aside strong,
.office-brand .dialog > small,
.office-brand .menu-results > small { color: #1768ad; }
.office-brand .hero-address { display: none; }
.office-brand .site-footer > div:nth-child(2) > a { display: none; }
.office-brand .office-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: end; padding: 58px 0 35px; }
.office-brand .office-intro small,
.office-brand .office-happening small,
.office-brand .office-lineup-heading small,
.office-brand .office-experiences small { color: #1768ad; font-size: 12px; font-weight: 900; letter-spacing: .14em; }
.office-brand .office-intro h2,
.office-brand .office-happening h2,
.office-brand .office-lineup-heading h2 { margin: 11px 0 0; font: 700 clamp(34px,4.5vw,58px)/1.05 Georgia,serif; color: #102c43; }
.office-brand .office-intro p { margin: 0 0 5px; max-width: 550px; line-height: 1.7; font-size: 17px; color: #3b5264; }
.office-brand .office-experiences { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.office-brand .office-experiences article { min-width: 0; overflow: hidden; border: 1px solid #d9e3eb; border-radius: 20px; background: #fff; box-shadow: 0 12px 35px #102c430d; }
.office-brand .office-experiences img { display: block; width: 100%; height: 245px; object-fit: cover; }
.office-brand .office-experiences article:nth-child(3) img { object-position: center 49%; transform: scale(1.26); }
.office-brand .office-experiences article:nth-child(3) { isolation: isolate; }
.office-brand .office-experiences article > div { position: relative; padding: 24px; background: #fff; }
.office-brand .office-experiences .office-amenity-art { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; align-content: center; height: 245px; padding: 22px; background: radial-gradient(circle at 80% 10%,#3589c8,#143d62 48%,#102c43); }
.office-brand .office-amenity-art span { display: grid; place-items: center; border: 1px solid #ffffff7d; border-radius: 12px; color: #fff; font-size: clamp(13px,1.5vw,19px); font-weight: 900; letter-spacing: .12em; }
.office-brand .office-experiences h3 { margin: 8px 0; font: 700 30px/1.08 Georgia,serif; color: #102c43; }
.office-brand .office-experiences p { margin: 0; color: #526476; line-height: 1.45; }
.office-brand .office-discover { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin: 54px 0; }
.office-brand .office-discover-heading { grid-column: 1 / -1; margin-bottom: 4px; }
.office-brand .office-discover-heading small { color: #1768ad; }
.office-brand .office-discover-heading h2 { margin: 9px 0 0; color: #102c43; font: 700 clamp(34px,4.3vw,56px)/1.06 Georgia,serif; }
.office-brand .office-discover-card { min-width: 0; overflow: hidden; border-radius: 23px; background: #102c43; color: #fff; }
.office-brand .office-discover-visual { height: 245px; overflow: hidden; }
.office-brand .office-discover-visual img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.office-brand .office-special-feature .office-discover-visual img { object-position: center 48%; }
.office-brand .office-discover-copy { padding: 27px clamp(24px,3vw,40px) 35px; }
.office-brand .office-discover-copy small { color: #a9d6f3; }
.office-brand .office-discover-copy h3 { margin: 10px 0; color: #fff; font: 700 clamp(32px,3vw,43px)/1.08 Georgia,serif; }
.office-brand .office-discover-copy p { min-height: 3em; color: #e4eef6; line-height: 1.55; }
.office-brand .office-discover-copy button { margin-top: 8px; }
.office-brand .office-music-art { display: grid; place-content: center; gap: 8px; height: 100%; background: radial-gradient(circle at 50% 100%,#3f7bab 0,#234b6e 38%,#0c2238 100%); color: #fff; text-align: center; }
.office-brand .office-music-disc { display: grid; place-items: center; width: 132px; height: 132px; margin: auto; border: 4px solid #c5e7fd; border-radius: 50%; box-shadow: 0 0 0 13px #ffffff16,0 0 0 31px #ffffff0c; font-size: 72px; }
.office-brand .office-music-bars { margin-top: 9px; color: #a9d6f3; font-size: 29px; letter-spacing: .2em; white-space: nowrap; }
.office-brand .office-lineup { margin-bottom: 65px; }
.office-brand .office-lineup-heading { margin-bottom: 22px; }
.office-brand .office-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; margin: 22px 0 38px; }
.office-brand .office-home-gallery { grid-template-columns: repeat(3,minmax(0,1fr)); }
.office-brand .office-gallery figure { position: relative; min-width: 0; margin: 0; overflow: hidden; border-radius: 17px; background: #102c43; }
.office-brand .office-gallery img { display: block; width: 100%; height: 245px; object-fit: cover; object-position: center 52%; }
.office-brand .office-gallery img[src$="gallery-2.jpg"] { transform: scale(1.3); }
.office-brand .office-gallery figcaption { position: absolute; inset: auto 0 0; padding: 32px 16px 14px; background: linear-gradient(transparent,#071a2de0); color: #fff; font-size: 14px; font-weight: 800; }
.office-brand .office-updates { background: #102c43; }
.office-brand .publication-card { padding: 0; overflow: hidden; border-radius: 20px; }
.office-brand .publication-card .publication-photo { display: block; width: 100%; height: 210px; object-fit: cover; }
.office-brand .publication-card .publication-copy { padding: 24px; }
.office-brand .publication-card .publication-copy small { color: #1768ad; font-size: 11px; font-weight: 900; letter-spacing: .13em; }
.office-brand .publication-card .publication-copy h3 { margin: 9px 0 12px; font: 700 27px/1.12 Georgia,serif; color: #102c43; }
.office-brand .publication-card .publication-copy p { color: #526476; line-height: 1.5; }
.office-brand .restaurant-closing-section { margin: 58px 0 0; }
.office-brand .restaurant-closing-section > header { margin: 0 auto 24px; text-align: center; }
.office-brand .restaurant-closing-section > header small { color: #1768ad; font-size: 11px; font-weight: 950; letter-spacing: .15em; }
.office-brand .restaurant-closing-section > header h2 { margin: 9px 0 0; color: #102c43; font: 700 clamp(34px,4.5vw,56px)/1.04 Georgia,serif; }
.office-brand .restaurant-closing-section > header p { max-width: 630px; margin: 12px auto 0; color: #526476; font-size: 16px; line-height: 1.5; }
.office-brand .restaurant-closing-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.office-brand .restaurant-closing-card { position: relative; display: grid; min-width: 0; min-height: 260px; aspect-ratio: 1; overflow: hidden; align-content: space-between; padding: clamp(22px,3vw,34px); border: 1px solid #c9dbe7; border-radius: 24px; background: #fff; color: #102c43; text-align: left; text-decoration: none; box-shadow: 0 18px 44px #102c4314; isolation: isolate; }
.office-brand .restaurant-closing-card::before { content: ""; position: absolute; z-index: -1; width: 68%; aspect-ratio: 1; right: -24%; bottom: -35%; border-radius: 50%; background: #ffffff2e; }
.office-brand .restaurant-closing-card.gift-card { background: linear-gradient(145deg,#102c43,#1d5378); color: #fff; }
.office-brand .restaurant-closing-card.party-card { background: linear-gradient(145deg,#eaf6fd,#bcdff5); }
.office-brand .restaurant-closing-card.team-card { background: linear-gradient(145deg,#1768ad,#0d416f); color: #fff; }
.office-brand .closing-card-number { justify-self: end; font-size: 12px; font-weight: 950; letter-spacing: .14em; opacity: .72; }
.office-brand .closing-card-icon { display: grid; place-items: center; width: 58px; height: 58px; margin-top: auto; border: 1px solid currentColor; border-radius: 50%; font: 700 27px/1 Georgia,serif; }
.office-brand .closing-card-copy { display: grid; gap: 8px; margin-top: 24px; }
.office-brand .closing-card-copy h3 { margin: 0; font: 700 clamp(27px,3vw,37px)/1.04 Georgia,serif; }
.office-brand .closing-card-copy small { font-size: 14px; line-height: 1.4; opacity: .82; }
.office-brand .closing-card-copy em { margin-top: 7px; font-size: 12px; font-style: normal; font-weight: 950; letter-spacing: .04em; text-transform: uppercase; }
.office-brand a.restaurant-closing-card { transition: transform .2s ease,box-shadow .2s ease; }
.office-brand a.restaurant-closing-card:hover { transform: translateY(-4px); box-shadow: 0 24px 56px #102c4324; }
.office-brand a.restaurant-closing-card:focus-visible { outline: 4px solid #f0b429; outline-offset: 4px; }
.office-brand .office-closing-experience { margin-top: 76px; }
.office-brand .office-closing-experience .restaurant-closing-grid { gap: 22px; }
.office-brand .office-closing-experience .visual-closing-card { min-height: 440px; aspect-ratio: 4 / 5; align-content: end; border: 0; padding: clamp(22px,2.6vw,32px); color: #fff; box-shadow: 0 24px 56px #0718272e; }
.office-brand .office-closing-experience .visual-closing-card::before { z-index: -1; inset: 0; width: auto; aspect-ratio: auto; border-radius: inherit; background: linear-gradient(120deg,transparent 15%,#ffffff1d 46%,transparent 67%); transform: translateX(-120%); transition: transform .65s ease; }
.office-brand .office-closing-experience .visual-closing-card:hover::before,.office-brand .office-closing-experience .visual-closing-card:focus-within::before { transform: translateX(120%); }
.office-brand .closing-card-photo,.office-brand .closing-card-shade { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; }
.office-brand .closing-card-photo { object-fit: cover; transition: transform .55s ease; }
.office-brand .visual-closing-card:hover .closing-card-photo,.office-brand .visual-closing-card:focus-within .closing-card-photo { transform: scale(1.045); }
.office-brand .closing-card-shade { z-index: -2; background: linear-gradient(180deg,#07182710 25%,#071827a8 58%,#071827f5 100%); }
.office-brand .closing-card-kicker { align-self: end; margin-bottom: 8px; color: #f8cc55; font-size: 10px; font-weight: 950; letter-spacing: .13em; }
.office-brand .office-closing-experience .closing-card-copy { margin: 0; }
.office-brand .office-closing-experience .closing-card-copy h3 { color: #fff; font-size: clamp(30px,3.4vw,43px); }
.office-brand .office-closing-experience .closing-card-copy small { color: #eef7fc; opacity: 1; }
.office-brand .office-closing-experience .closing-card-copy em { color: #fff; }
.office-brand .office-closing-experience .gift-card { align-content: space-between; background: #071827; }
.office-brand .office-gift-card-mockup { position: relative; display: grid; align-content: center; justify-items: start; width: 100%; aspect-ratio: 1.586 / 1; min-height: 0; margin: 8px 0 30px; overflow: hidden; border: 1px solid #ffffff7a; border-radius: 19px; padding: clamp(16px,2vw,20px); background: linear-gradient(135deg,#071827 0 48%,#145c91 49% 78%,#f4bd37 79%); color: #fff; transform: rotate(-3deg); box-shadow: 0 22px 38px #0008,inset 0 1px 0 #fff8; }
.office-brand .office-gift-card-mockup::after { content: ""; position: absolute; width: 180px; aspect-ratio: 1; right: -70px; top: -95px; border: 1px solid #ffffff70; border-radius: 50%; box-shadow: 0 0 0 24px #ffffff0c,0 0 0 48px #ffffff09; }
.office-brand .office-gift-card-mockup > span { position: absolute; right: 15px; top: 13px; font-size: 9px; font-weight: 950; letter-spacing: .16em; }
.office-brand .office-gift-card-mockup img { width: min(180px,70%); max-height: 70px; object-fit: contain; object-position: left center; border-radius: 5px; }
.office-brand .office-gift-card-mockup strong { display: flex; align-items: start; margin-top: 8px; font: 800 51px/.85 Georgia,serif; }
.office-brand .office-gift-card-mockup strong small { margin: 4px 2px 0 0; font: 800 20px/1 Georgia,serif; }
.office-brand .office-gift-card-mockup em { margin-top: 10px; font-size: 8px; font-style: normal; font-weight: 950; letter-spacing: .12em; }

@media (min-width: 761px) and (max-width: 1180px) {
  .office-brand .office-closing-experience .restaurant-closing-grid { display: flex; gap: 18px; overflow-x: auto; padding: 4px 4px 20px; scroll-padding-inline: 4px; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .office-brand .office-closing-experience .restaurant-closing-grid::-webkit-scrollbar { display: none; }
  .office-brand .office-closing-experience .visual-closing-card { flex: 0 0 min(46vw,430px); scroll-snap-align: start; }
}

/* The Office live layer: energetic, data-driven, and distinct from the reference site. */
.office-brand .office-live-banner { position: relative; overflow: hidden; padding: 22px var(--restaurant-site-gutter,clamp(18px,3vw,56px)); background: linear-gradient(115deg,#071827,#102f49 58%,#184f79); color: #fff; border-block: 1px solid #ffffff1f; }
.office-brand .office-live-banner::after { content: ""; position: absolute; width: 380px; aspect-ratio: 1; right: -150px; top: -240px; border-radius: 50%; background: radial-gradient(circle,#f4bd3742,transparent 68%); pointer-events: none; }
.office-brand .office-live-inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(180px,260px) 1fr; align-items: stretch; gap: clamp(22px,4vw,55px); width: min(1180px,100%); margin: auto; }
.office-brand .office-live-photo { position: relative; min-height: 190px; overflow: hidden; border-radius: 22px; background: #06131f; box-shadow: 0 18px 50px #0005; }
.office-brand .office-live-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.office-brand .office-live-photo span { position: absolute; inset: 0; background: linear-gradient(135deg,transparent 35%,#071827a8); }
.office-brand .office-live-copy { display: grid; align-content: center; grid-template-columns: minmax(0,1fr) auto; column-gap: 24px; }
.office-brand .office-live-copy > small { grid-column: 1 / -1; display: flex; align-items: center; gap: 9px; color: #f8cc55; font-size: 12px; font-weight: 950; letter-spacing: .18em; }
.office-brand .office-live-copy > small i { width: 10px; height: 10px; border-radius: 50%; background: #f4bd37; box-shadow: 0 0 0 7px #f4bd3720; animation: office-live-pulse 1.8s ease-in-out infinite; }
.office-brand .office-live-copy h2 { grid-column: 1; margin: 10px 0 5px; color: #fff; font: 700 clamp(30px,4vw,53px)/1 Georgia,serif; }
.office-brand .office-live-copy > p { grid-column: 1; margin: 5px 0 18px; color: #dbe9f3; font-size: 16px; line-height: 1.5; }
.office-brand .office-live-copy > button { grid-column: 1; justify-self: start; border: 0; border-radius: 999px; padding: 14px 22px; background: #f4bd37; color: #102c43; font-weight: 950; box-shadow: 0 12px 30px #0003; }
.office-brand .office-live-copy > button:hover { transform: translateY(-2px); background: #ffd66d; }
.office-brand .office-countdown { display: grid; gap: 4px; border: 1px solid #ffffff42; border-radius: 15px; padding: 11px 14px; background: #071827c9; color: #fff; }
.office-brand .office-countdown span { color: #f8cc55; font-size: 9px; font-weight: 950; letter-spacing: .15em; }
.office-brand .office-countdown b { font-size: 14px; letter-spacing: .04em; white-space: nowrap; }
.office-brand .office-countdown.live { border-color: #69e6bd; box-shadow: 0 0 0 3px #69e6bd1c; }
.office-brand .office-countdown.live span,.office-brand .office-countdown.live b { color: #8af2cf; }
.office-brand .banner-countdown { grid-column: 2; grid-row: 2 / span 2; align-self: center; min-width: 155px; }
@keyframes office-live-pulse { 50% { transform: scale(.72); opacity: .58; } }

.office-brand .office-big-nights { margin: 4px 0 64px; }
.office-brand .office-big-nights > header,.office-brand .office-photo-flow > header,.office-brand .office-social-section > header { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin: 0 0 24px; }
.office-brand .office-big-nights > header small,.office-brand .office-photo-flow > header small,.office-brand .office-social-section > header small { color: #1768ad; font-size: 11px; font-weight: 950; letter-spacing: .17em; }
.office-brand .office-big-nights > header h2,.office-brand .office-photo-flow > header h2,.office-brand .office-social-section > header h2 { margin: 8px 0 0; color: #102c43; font: 700 clamp(35px,4.8vw,60px)/1 Georgia,serif; }
.office-brand .office-big-nights > header > button { flex: none; border: 0; border-bottom: 2px solid #102c43; padding: 9px 0; background: transparent; color: #102c43; font-size: 12px; font-weight: 950; letter-spacing: .09em; text-transform: uppercase; }
.office-brand .office-big-night-rail { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; overflow-x: auto; padding: 2px 2px 15px; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.office-brand .office-big-night-card { position: relative; min-width: 0; min-height: 510px; overflow: hidden; border-radius: 26px; background: #071827; color: #fff; isolation: isolate; box-shadow: 0 20px 48px #102c4326; scroll-snap-align: start; }
.office-brand .office-big-night-card:nth-child(n+4) { display: none; }
.office-brand .office-big-night-card > img,.office-brand .office-big-night-art { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.office-brand .office-big-night-art { display: grid; place-items: center; background: radial-gradient(circle at 50% 25%,#3577a8,#102c43 64%); font-size: 110px; }
.office-brand .office-night-shade { position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg,#06131f08 22%,#06131fbd 58%,#06131ff5 100%); }
.office-brand .office-calendar-page { position: absolute; left: 22px; top: 27px; display: grid; grid-template-rows: auto 1fr auto; place-items: center; width: 90px; min-height: 104px; overflow: visible; border: 1px solid #b8c7d1; border-radius: 7px 7px 15px 15px; padding: 22px 10px 10px; background: linear-gradient(145deg,#fff 0 72%,#e6edf2 73% 76%,#fff 77%); color: #102c43; text-align: center; transform: rotate(-1deg); box-shadow: 0 14px 30px #0006, inset 0 -1px 0 #c6d2da; }
.office-brand .office-calendar-page::before { content: ""; position: absolute; inset: 21px 0 auto; height: 2px; background: #1768ad; box-shadow: 0 3px 0 #d8e3ea; }
.office-brand .office-calendar-page::after { content: ""; position: absolute; right: 0; bottom: 0; width: 23px; height: 23px; border-radius: 5px 0 12px; background: linear-gradient(135deg,#d6e0e7 0 48%,#f8fbfd 50%); box-shadow: -2px -2px 6px #102c431f; transition: width .25s ease,height .25s ease; }
.office-brand .office-big-night-card:hover .office-calendar-page::after,.office-brand .office-big-night-card:focus-within .office-calendar-page::after { width: 30px; height: 30px; }
.office-brand .office-calendar-rings { position: absolute; z-index: 2; left: 17px; right: 17px; top: -9px; height: 24px; border-left: 6px solid #dbe4ea; border-right: 6px solid #dbe4ea; filter: drop-shadow(0 2px 1px #07182788); }
.office-brand .office-calendar-rings::before,.office-brand .office-calendar-rings::after { content: ""; position: absolute; top: 5px; width: 12px; height: 12px; border: 3px solid #657785; border-bottom-color: #c9d5dc; border-radius: 50%; background: transparent; }
.office-brand .office-calendar-rings::before { left: -9px; }
.office-brand .office-calendar-rings::after { right: -9px; }
.office-brand .office-calendar-page small { z-index: 1; color: #1768ad; font-size: 10px; font-style: normal; font-weight: 950; letter-spacing: .14em; }
.office-brand .office-calendar-page b { z-index: 1; margin-top: 5px; font: 800 38px/.9 Georgia,serif; }
.office-brand .office-calendar-page em { z-index: 1; margin-top: 3px; color: #526476; font-size: 10px; font-style: normal; font-weight: 950; letter-spacing: .12em; }
.office-brand .office-night-copy { position: absolute; inset: auto 0 0; padding: 30px; }
.office-brand .office-night-copy > small { color: #f8cc55; font-size: 10px; font-weight: 950; letter-spacing: .15em; }
.office-brand .office-night-copy h3 { margin: 9px 0 8px; color: #fff; font: 700 clamp(28px,3vw,39px)/1 Georgia,serif; }
.office-brand .office-night-copy > p { margin: 0 0 14px; color: #dbe9f3; font-weight: 800; }
.office-brand .office-night-copy > button { margin-top: 15px; border: 0; border-bottom: 1px solid #fff; padding: 6px 0; background: transparent; color: #fff; font-size: 12px; font-weight: 950; letter-spacing: .06em; text-transform: uppercase; }
.office-brand .card-countdown { width: max-content; max-width: 100%; }
.office-brand .inline-countdown { width: max-content; max-width: 100%; margin-top: 4px; border-color: #1768ad40; background: #102c43; }
.office-brand .schedule-countdown { width: max-content; max-width: 100%; border-color: #1768ad35; background: #102c43; }

.office-brand .office-photo-flow { margin: 70px 0; padding: 54px 0 60px; }
.office-brand .office-photo-flow > header { display: block; max-width: 720px; }
.office-brand .office-photo-flow > header p,.office-brand .office-social-section > header p { max-width: 680px; margin: 12px 0 0; color: #526476; font-size: 17px; line-height: 1.6; }
.office-brand .office-photo-flow-window { width: calc(100% + (2 * var(--restaurant-site-gutter,clamp(18px,3vw,56px)))); margin-inline: calc(var(--restaurant-site-gutter,clamp(18px,3vw,56px)) * -1); overflow: hidden; mask-image: linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.office-brand .office-photo-flow-track { display: flex; width: max-content; animation: office-photo-flow 42s linear infinite; will-change: transform; }
.office-brand .office-photo-flow-group { display: flex; gap: 16px; padding-right: 16px; }
.office-brand .office-photo-tile { flex: none; width: clamp(250px,31vw,430px); height: clamp(210px,25vw,330px); margin: 0; overflow: hidden; border: 0; border-radius: 22px; padding: 0; background: #102c43; box-shadow: 0 18px 42px #102c4324; }
.office-brand button.office-photo-tile { cursor: zoom-in; }
.office-brand .office-photo-tile img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.office-brand button.office-photo-tile:hover img,.office-brand button.office-photo-tile:focus-visible img { transform: scale(1.045); }
.office-brand button.office-photo-tile:focus-visible { outline: 4px solid #f4bd37; outline-offset: -5px; }
.office-brand .office-photo-flow-window:hover .office-photo-flow-track,.office-brand .office-photo-flow-window:focus-within .office-photo-flow-track { animation-play-state: paused; }
.office-photo-dialog { display: block; width: 100%; max-height: 65vh; object-fit: contain; border-radius: 16px; background: #071827; }
@keyframes office-photo-flow { to { transform: translateX(-50%); } }

.office-brand .office-social-section { margin: 64px 0; padding: clamp(34px,5vw,70px); border-radius: 30px; background: linear-gradient(135deg,#071827,#102f49 65%,#1768ad); color: #fff; box-shadow: 0 28px 70px #102c4329; }
.office-brand .office-social-section > header { display: block; max-width: 780px; }
.office-brand .office-social-section > header small { color: #f8cc55; }
.office-brand .office-social-section > header h2 { color: #fff; }
.office-brand .office-social-section > header p { color: #dbe9f3; }
.office-brand .office-social-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: 15px; }
.office-brand .office-social-card { display: grid; grid-template-columns: auto 1fr; gap: 7px 16px; min-height: 235px; align-content: start; padding: 27px; border: 1px solid #ffffff2f; border-radius: 22px; background: #ffffff0c; color: #fff; text-decoration: none; transition: transform .2s ease,background .2s ease; }
.office-brand .office-social-card:hover { transform: translateY(-4px); background: #ffffff16; }
.office-brand .office-social-card:focus-visible { outline: 4px solid #f4bd37; outline-offset: 3px; }
.office-brand .office-social-card > span { grid-row: 1 / span 4; display: grid; place-items: center; width: 54px; height: 54px; border-radius: 17px; background: #fff; color: #1768ad; font-size: 29px; font-weight: 950; }
.office-brand .office-social-card > small { align-self: end; color: #f8cc55; font-size: 9px; font-weight: 950; letter-spacing: .15em; }
.office-brand .office-social-card h3 { margin: 0; color: #fff; font: 700 28px/1.05 Georgia,serif; }
.office-brand .office-social-card p { grid-column: 2; margin: 5px 0 20px; color: #dbe9f3; line-height: 1.45; }
.office-brand .office-social-card b { grid-column: 2; align-self: end; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.office-brand .office-social-card.personal-card { background: #1768ad; }
.office-brand .office-social-card.personal-card > span { color: #d92f52; }

/* Connected social feed: manual, quiet-motion carousel beside events/specials. */
.restaurant-standard-brand .restaurant-social-feed { position: relative; margin: 0 0 54px; overflow: hidden; border-radius: 26px; padding: clamp(24px,3.2vw,40px); background: radial-gradient(circle at 92% 6%,#2675ad45,transparent 34%),linear-gradient(135deg,#071827,#0d2f4b 64%,#154c74); color: #fff; box-shadow: 0 22px 56px #102c4324; }
.restaurant-standard-brand .restaurant-social-feed > header { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 18px; }
.restaurant-standard-brand .restaurant-social-feed > header > div:first-child { max-width: 760px; }
.restaurant-standard-brand .restaurant-social-feed > header small { color: #f8cc55; font-size: 11px; font-weight: 950; letter-spacing: .17em; }
.restaurant-standard-brand .restaurant-social-feed > header h2 { margin: 0; color: #fff; font: 700 clamp(28px,3.1vw,42px)/1.05 Georgia,serif; }
.restaurant-standard-brand .restaurant-social-feed > header p { max-width: 720px; margin: 0; color: #dbe9f3; font-size: 16px; line-height: 1.55; }
.restaurant-standard-brand .social-feed-controls { display: flex; flex: none; gap: 9px; }
.restaurant-standard-brand .social-feed-controls button { min-width: 68px; height: 36px; border: 0; border-radius: 999px; padding: 0 15px; background: #fff; color: #123c5d; font-size: 10px; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: transform .2s ease,background .2s ease; }
.restaurant-standard-brand .social-feed-controls button:hover { transform: translateY(-2px); background: #e8f3fb; }
.restaurant-standard-brand .social-feed-controls button:focus-visible { outline: 4px solid #f8cc55; outline-offset: 3px; }
.restaurant-standard-brand .social-feed-rail { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 48px)/4); gap: 16px; overflow-x: auto; padding: 3px 3px 12px; scroll-padding-inline: 3px; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; scrollbar-width: thin; scrollbar-color: #ffffff65 transparent; }
.restaurant-standard-brand .social-feed-card { display: flex; flex-direction: column; min-width: 0; min-height: 0; overflow: hidden; border: 1px solid #ffffff24; border-radius: 18px; background: #f8fbfd; color: #102c43; scroll-snap-align: start; scroll-snap-stop: always; box-shadow: 0 14px 34px #0004; }
.restaurant-standard-brand .social-feed-media { position: relative; min-height: 0; aspect-ratio: 4 / 3; overflow: hidden; background: #0a2135; }
.restaurant-standard-brand .social-feed-media > img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; transition: transform .35s ease; }
.restaurant-standard-brand .social-feed-card:hover .social-feed-media > img { transform: scale(1.035); }
.restaurant-standard-brand .social-feed-text-art { display: grid; place-items: center; background: linear-gradient(145deg,#1877f2,#0b2d49); }
.restaurant-standard-brand .social-feed-text-art > span { display: grid; place-items: center; width: 92px; height: 92px; border-radius: 28px; background: #fff; color: #1877f2; font-size: 50px; font-weight: 950; box-shadow: 0 20px 45px #0005; }
.restaurant-standard-brand .social-feed-play { position: absolute; left: 50%; top: 50%; display: grid; place-items: center; width: 48px; height: 48px; border: 2px solid #fff; border-radius: 50%; background: #071827c9; color: #fff; font-size: 18px; transform: translate(-50%,-50%); box-shadow: 0 12px 28px #0008; }
.restaurant-standard-brand .social-feed-media > small { position: absolute; left: 10px; bottom: 9px; border-radius: 999px; padding: 6px 8px; background: #071827de; color: #fff; font-size: 8px; font-weight: 900; letter-spacing: .05em; }
.restaurant-standard-brand .social-feed-card-copy { display: grid; align-content: start; gap: 8px; padding: 14px; }
.restaurant-standard-brand .social-feed-card-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.restaurant-standard-brand .social-feed-card-meta time { color: #617587; font-size: 12px; font-weight: 800; }
.restaurant-standard-brand .social-network-badge { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 7px 10px; background: #1877f2; color: #fff; font-size: 11px; font-weight: 950; }
.restaurant-standard-brand .social-network-badge.instagram { background: linear-gradient(120deg,#833ab4,#fd1d1d,#fcb045); }
.restaurant-standard-brand .social-network-badge.tiktok { background: linear-gradient(115deg,#111 34%,#25f4ee 35%,#fe2c55 72%); }
.restaurant-standard-brand .social-network-badge.x { background: #050505; }
.restaurant-standard-brand .social-network-badge.youtube { background: #f00; }
.restaurant-standard-brand .social-feed-sample-label { color: #657789; font-size: 10px; font-weight: 950; letter-spacing: .11em; }
.restaurant-standard-brand .social-feed-kind { width: max-content; border-radius: 999px; padding: 5px 8px; background: #e6f2fb; color: #1768ad; font-size: 9px; font-weight: 950; letter-spacing: .13em; }
.restaurant-standard-brand .social-feed-card-copy > p { display: -webkit-box; min-height: 2.8em; overflow: hidden; margin: 0; color: #29475f; font-size: 13px; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.restaurant-standard-brand .social-feed-card-actions { display: flex; flex-wrap: wrap; gap: 9px 15px; margin-top: auto; }
.restaurant-standard-brand .social-feed-card-actions a { color: #0c5e9d; font-size: 11px; font-weight: 950; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.restaurant-standard-brand .social-feed-card-actions span { color: #617587; font-size: 10px; font-weight: 900; letter-spacing: .035em; text-transform: uppercase; }
.restaurant-standard-brand .social-feed-card-actions a:hover { text-decoration: underline; }
@media (min-width: 761px) and (max-width: 1180px) {
  .restaurant-standard-brand .social-feed-rail { grid-auto-columns: calc((100% - 32px)/3); }
}
@media (max-width: 760px) {
  .office-brand .office-paths { grid-template-columns: 1fr; }
  .office-brand .office-paths button { min-height: 0; }
  .office-brand .office-menu-pages { grid-template-columns: 1fr; }
  .office-brand .hero-emblem { width: 125px; max-width: 125px; height: 82px; }
  .office-brand .venue-mark { width: 82px; max-width: 82px; height: 42px; }
  .office-brand .hero-brand { min-width: 0; }
  .office-brand .hero-brand div { min-width: 0; }
  .office-brand .hero-brand b { font-size: clamp(23px, 6vw, 30px); overflow-wrap: anywhere; }
  .office-brand .hero h1 { font-size: clamp(34px, 8vw, 42px); }
  .office-brand .office-intro { grid-template-columns: 1fr; gap: 12px; padding-top: 38px; }
  .office-brand .office-experiences { grid-template-columns: 1fr; }
  .office-brand .office-experiences img { height: 245px; }
  .office-brand .office-discover { grid-template-columns: 1fr; margin: 35px 0; }
  .office-brand .office-discover-visual { height: 225px; }
  .office-brand .office-gallery:not(.office-home-gallery) { grid-template-columns: 1fr 1fr; }
  .office-brand .office-gallery img { height: 210px; }
  .office-brand .restaurant-closing-section { margin-top: 42px; }
  .office-brand .restaurant-closing-section > header { text-align: left; }
  .office-brand .restaurant-closing-grid { display: flex; gap: 14px; overflow-x: auto; margin-inline: -14px; padding: 4px 24px 18px; scroll-padding-inline: 24px; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
  .office-brand .restaurant-closing-grid::-webkit-scrollbar { display: none; }
  .office-brand .restaurant-closing-card { flex: 0 0 min(82vw,340px); min-height: min(82vw,340px); scroll-snap-align: start; scroll-snap-stop: always; }
  .office-brand .office-live-banner { padding: 16px 16px 20px; }
  .office-brand .office-live-inner { grid-template-columns: 105px 1fr; gap: 16px; }
  .office-brand .office-live-photo { min-height: 155px; border-radius: 17px; }
  .office-brand .office-live-copy { display: grid; grid-template-columns: 1fr; align-content: center; }
  .office-brand .office-live-copy h2,.office-brand .office-live-copy > p,.office-brand .office-live-copy > button,.office-brand .banner-countdown { grid-column: 1; grid-row: auto; }
  .office-brand .office-live-copy h2 { font-size: clamp(25px,7vw,34px); }
  .office-brand .office-live-copy > p { font-size: 13px; margin-bottom: 12px; }
  .office-brand .office-live-copy > button { width: 100%; padding: 11px 13px; font-size: 12px; }
  .office-brand .banner-countdown { width: max-content; min-width: 0; margin: 0 0 12px; padding: 8px 10px; }
  .office-brand .office-big-nights { margin-bottom: 48px; }
  .office-brand .office-big-nights > header,.office-brand .office-photo-flow > header,.office-brand .office-social-section > header { display: block; }
  .office-brand .office-big-nights > header > button { margin-top: 15px; }
  .office-brand .office-big-night-rail { display: flex; width: calc(100% + 28px); margin-left: -14px; gap: 14px; padding: 2px 24px 18px; scroll-padding-inline: 24px; scrollbar-width: none; }
  .office-brand .office-big-night-rail::-webkit-scrollbar { display: none; }
  .office-brand .office-big-night-card { display: block!important; flex: 0 0 min(84vw,360px); min-height: 500px; }
  .office-brand .office-photo-flow { margin: 45px 0; padding: 30px 0 38px; }
  .office-brand .office-photo-flow-window { mask-image: none; }
  .office-brand .office-photo-tile { width: min(76vw,330px); height: min(59vw,255px); border-radius: 17px; }
  .office-brand .office-social-section { margin-inline: -2px; padding: 30px 22px; border-radius: 25px; }
  .office-brand .office-social-grid { grid-template-columns: 1fr; }
  .office-brand .office-social-card { min-height: 210px; }
  .restaurant-standard-brand .restaurant-social-feed { margin: 0 0 42px; padding: 24px 18px; border-radius: 22px; }
  .restaurant-standard-brand .restaurant-social-feed > header { display: block; margin-bottom: 15px; }
  .restaurant-standard-brand .restaurant-social-feed > header h2 { font-size: 29px; }
  .restaurant-standard-brand .social-feed-controls { display: none; }
  .restaurant-standard-brand .social-feed-rail { width: calc(100% + 18px); grid-auto-columns: min(78vw,300px); margin-right: -18px; gap: 12px; scrollbar-width: none; }
  .restaurant-standard-brand .social-feed-rail::-webkit-scrollbar { display: none; }
  .restaurant-standard-brand .social-feed-card { min-height: 0; }
}
@media (max-width: 760px) {
  .office-brand .hero[data-cover-layout="spotlight"] .hero-slide-media span[data-office-cover] {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
  }
}
@media (max-width: 430px) {
  .office-brand .office-gallery:not(.office-home-gallery) { grid-template-columns: 1fr; }
  .office-brand .hero-brand { align-items: flex-start; }
  .office-brand .hero-brand b { font-size: 23px; }
}
@media (prefers-reduced-motion: reduce) {
  .office-brand a.restaurant-closing-card { transition: none; }
  .office-brand .office-live-copy > small i { animation: none; }
  .office-brand .office-photo-flow-window { overflow-x: auto; mask-image: none; }
  .office-brand .office-photo-flow-track { animation: none; }
  .office-brand .office-photo-flow-group[aria-hidden="true"] { display: none; }
  .office-brand .office-photo-tile img { transition: none; }
  .restaurant-standard-brand .social-feed-controls button,.restaurant-standard-brand .social-feed-media > img { transition: none; }
}
