/* 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; }
}

/* Existing Skippers guest services remain available while native content grows. */
.skippers-services{margin:32px 0;padding:clamp(20px,4vw,40px);border-radius:24px;background:linear-gradient(135deg,#092f46,#125875);color:#fff}
.skippers-services>header{max-width:680px;margin-bottom:24px}
.skippers-services small{color:#b8e8ef;letter-spacing:.12em;font-weight:800}
.skippers-services h2{font-size:clamp(28px,4vw,42px);margin:10px 0}
.skippers-services p{color:#e1eef4;line-height:1.6}
.skippers-services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.skippers-services article{padding:22px;border:1px solid #ffffff30;border-radius:18px;background:#ffffff0d}
.skippers-services article h3{margin:0;color:#fff;font-size:22px}
.skippers-services article>p{font-size:14px;min-height:48px}
.skippers-services article>div{display:grid;gap:8px}
.skippers-services a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:10px 12px;border-radius:10px;background:#fff;color:#12384c;text-decoration:none;font-weight:750}
.skippers-services a:hover,.skippers-services a:focus-visible{background:#d7f4f4;outline:2px solid #fff;outline-offset:2px}
.skippers-social-links{display:flex;gap:12px;flex-wrap:wrap}
.skippers-social-links a{display:inline-flex;align-items:center;min-height:48px;padding:14px 20px;background:#1768ad;color:#fff;border-radius:12px;text-decoration:none;font-weight:800}
@media(max-width:1100px){.skippers-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.skippers-services-grid{grid-template-columns:1fr}.skippers-services{border-radius:16px}.skippers-services article>p{min-height:0}.skippers-social-links{display:grid}.skippers-social-links a{justify-content:center}}


/* Office homepage remains intact while guests browse its schedule. */
.office-permanent-home #daily-specials,.office-permanent-home #overall-reviews-title,.office-permanent-home #office-bottom-calendar{scroll-margin-top:140px}
.office-permanent-home [data-office-today-reset][hidden]{display:none!important}
.office-permanent-home .office-bottom-calendar{margin-top:64px;padding:clamp(24px,4vw,56px);border-radius:28px;background:#eef4f8;color:#102c43;box-shadow:inset 0 0 0 1px #cedde7}
.office-permanent-home .office-bottom-calendar>header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.office-permanent-home .office-bottom-calendar>header small{color:#1768ad;font-size:11px;font-weight:900;letter-spacing:.16em}
.office-permanent-home .office-bottom-calendar h2{margin:10px 0 0;font:700 clamp(32px,4.6vw,54px)/1.05 Georgia,serif;color:#102c43}
.office-permanent-home .office-calendar-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none}
.office-permanent-home .office-calendar-controls strong{min-width:150px;text-align:center;font-size:18px}
.office-permanent-home .office-calendar-controls button{width:44px;height:44px;padding:0;border:1px solid #a9c1d1;border-radius:50%;background:#fff;color:#102c43;font-size:22px;cursor:pointer}
.office-permanent-home .office-calendar-weekdays,.office-permanent-home .office-calendar-dates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.office-permanent-home .office-calendar-weekdays{margin-bottom:8px;text-align:center;color:#4e687a;font-size:12px}
.office-permanent-home .office-calendar-dates>button{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:10px;min-width:0;min-height:108px;padding:12px;border:1px solid #cadbe6;border-radius:12px;background:white;color:#102c43;text-align:left;font:inherit;cursor:pointer}
.office-permanent-home .office-calendar-dates>button[aria-current=date]{border-color:#1768ad}
.office-permanent-home .office-calendar-dates>button[aria-pressed=true]{outline:2px solid #1768ad;outline-offset:-2px;background:#e0f1fc}
.office-permanent-home .office-calendar-dates>button>span{display:grid;gap:4px;width:100%}
.office-permanent-home .office-calendar-dates i{display:block;padding:4px 5px;border-radius:5px;background:#e8f2fd;color:#175da6;font-size:10px;line-height:1.2;font-style:normal;font-weight:800}
.office-permanent-home .office-calendar-dates i.calendar-special{background:#fff0cf;color:#79500c}
.office-permanent-home .office-calendar-selection{margin-top:30px}
.office-permanent-home .office-calendar-selection>h3{font:700 25px/1.2 Georgia,serif;margin:0 0 20px}
.office-permanent-home .office-calendar-results{display:flex;gap:18px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;padding:4px 4px 20px}
.office-permanent-home .office-calendar-results>.daily-special-card{flex:0 0 min(360px,88%);min-width:0;scroll-snap-align:start;box-shadow:0 8px 22px #102c4312}
.office-permanent-home .office-bottom-calendar button:focus-visible{outline:3px solid #1976c9;outline-offset:3px}
@media(max-width:760px){.office-permanent-home .office-bottom-calendar{margin-top:44px;padding:24px 12px;border-radius:20px}.office-permanent-home .office-bottom-calendar>header{display:block;padding:0 4px}.office-permanent-home .office-calendar-controls{margin-top:24px;gap:8px}.office-permanent-home .office-calendar-controls strong{font-size:17px;min-width:0}.office-permanent-home .office-calendar-dates,.office-permanent-home .office-calendar-weekdays{gap:4px}.office-permanent-home .office-calendar-dates>button{min-height:82px;padding:8px 4px;gap:6px;border-radius:7px}.office-permanent-home .office-calendar-dates i{font-size:10px;padding:3px}.office-permanent-home .office-calendar-dates i span{display:none}.office-permanent-home .office-calendar-selection>h3{font-size:22px}}
.office-permanent-home .office-big-night-rail{display:flex;flex-flow:row nowrap;align-items:stretch;gap:18px}
.office-permanent-home .office-big-night-card{flex:0 0 calc((100% - 36px)/3);min-width:280px}
@media(max-width:760px){.office-permanent-home .office-big-night-card{flex:0 0 min(84vw,360px);min-width:0}}
.office-permanent-home .office-schedule-occurrence{display:block;margin:0 0 10px;color:#175da6;font-size:13px;font-weight:850}

/* Keep Office gift, party and team photos in one equal-height row. */
.office-permanent-home .office-closing-experience .restaurant-closing-grid { align-items: stretch; }
.office-permanent-home .office-closing-experience .restaurant-closing-card { aspect-ratio: 4 / 5; min-height: 440px; }

.office-permanent-home .office-closing-experience .gift-card.visual-closing-card { align-content: end; }

/* Shared permanent restaurant home: never wrap carousel items into new rows. */
.office-permanent-home .team-showcase-grid { display:flex; flex-flow:row nowrap; gap:12px; overflow-x:auto; padding:2px 2px 18px; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; scrollbar-width:thin; }
.office-permanent-home .team-member-card { flex:0 0 clamp(160px,calc((100% - 84px)/8),220px); scroll-snap-align:start; }
.office-permanent-home .team-empty { flex:1 0 100%; }
.office-permanent-home .office-big-night-card { display:block!important; }
.office-permanent-home .office-photo-flow-window { overflow-x:auto; mask-image:none; scroll-snap-type:x mandatory; }
.office-permanent-home .office-photo-flow-track { animation:none; }
.office-permanent-home .office-photo-flow-group[aria-hidden=true] { display:none; }
.office-permanent-home .office-photo-tile { scroll-snap-align:start; }
.office-permanent-home .restaurant-section-empty { padding:24px; border:1px dashed #b9cbd2; border-radius:18px; color:#52697a; line-height:1.5; }
.office-permanent-home .office-big-night-rail>.restaurant-section-empty { flex:1; }
.skippers-brand .skippers-services-grid { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(260px,1fr); grid-template-columns:none; overflow-x:auto; gap:16px; scroll-snap-type:x mandatory; }
.skippers-brand .skippers-services-grid>article { scroll-snap-align:start; }
@media(min-width:761px){.office-permanent-home .home-food-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }}
@media(max-width:760px){.office-permanent-home .team-member-card{flex-basis:168px}.office-permanent-home .team-showcase-grid{margin-inline:0;padding-inline:2px}.office-permanent-home .home-food-grid{display:flex;flex-flow:row nowrap;overflow-x:auto}.office-permanent-home .restaurant-closing-grid{align-items:stretch}}

/* The seal keeps its own contrast field within the shared header height. */
.skippers-brand.office-brand .topbar { min-height:104px; }
.skippers-brand.office-brand .topbar .site-identity { padding:0 8px; }
.skippers-brand.office-brand .topbar .venue-mark { width:82px; min-width:82px; max-width:82px; height:82px; }
@media(max-width:760px){.skippers-brand.office-brand .topbar{min-height:92px}.skippers-brand.office-brand .topbar .venue-mark{width:74px;min-width:74px;max-width:74px;height:74px}}

/* Motion pauses while guests inspect or use the gallery. */
.office-permanent-home .office-photo-flow-track{animation:office-photo-flow 42s linear infinite}
.office-permanent-home .office-photo-flow-group[aria-hidden=true]{display:flex}
.office-permanent-home .office-photo-flow-window:hover .office-photo-flow-track,.office-permanent-home .office-photo-flow-window:focus-within .office-photo-flow-track{animation-play-state:paused}
.office-calendar-filters{display:flex;gap:10px;overflow-x:auto;margin:0 0 22px;padding:4px 2px}
.office-calendar-filters button{flex:none;border:1px solid #a9c1d1;background:white;color:#102c43;border-radius:999px;min-height:44px;padding:10px 18px;font-weight:800}
.office-calendar-filters button[aria-pressed=true]{background:#102c43;color:white}
.office-calendar-filters span{margin-left:6px}
.office-permanent-home .office-calendar-dates i.calendar-worker{background:#d8f4e9;color:#116348}
.office-calendar-results>.team-member-card{flex:0 0 min(240px,80%);scroll-snap-align:start}
.staff-shift-note{margin:4px 0;color:#405969;font-size:12px;line-height:1.5}
.staff-follower-count{min-height:0!important;text-align:center}
@media(prefers-reduced-motion:reduce){.office-permanent-home .office-photo-flow-track{animation:none}.office-permanent-home .office-photo-flow-group[aria-hidden=true]{display:none}}
