:root {
  --oc-ink: #102238;
  --oc-navy: #071b2f;
  --oc-cyan: #00a9c7;
  --oc-aqua: #8fe7e4;
  --oc-orange: #f36b35;
  --oc-paper: #ffffff;
  --oc-mist: #eef7f7;
  --oc-line: #c9d9dc;
  --oc-green: #176b55;
}

.oc-rotating-prompt {
  min-height: 1.7em;
  margin: 0 0 12px;
  color: inherit;
  font-size: 1rem;
  font-weight: 750;
  letter-spacing: 0;
  overflow: hidden;
}
.oc-rotating-prompt span { display: inline-block; transition: opacity .22s ease, transform .22s ease; }
.oc-rotating-prompt.is-changing span { opacity: 0; transform: translateY(5px); }

.oc-discovery-rail { margin: 0 0 42px; min-width: 0; }
.oc-discovery-rail__head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.oc-discovery-rail__head h2 { margin: 0; color: var(--oc-ink); font-size: 1.55rem; line-height: 1.1; letter-spacing: 0; }
.oc-discovery-rail__head p { max-width: 720px; margin: 6px 0 0; color: #4d626e; font-size: .92rem; }
.oc-discovery-rail__controls { display: flex; align-items: center; gap: 7px; flex: 0 0 auto; }
.oc-discovery-rail__controls button { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--oc-line); border-radius: 50%; background: var(--oc-paper); color: var(--oc-ink); font-size: 1.1rem; cursor: pointer; }
.oc-discovery-rail__controls button:hover,
.oc-discovery-rail__controls button:focus-visible { border-color: var(--oc-cyan); background: var(--oc-mist); }
.oc-discovery-rail__controls a { color: #08677a; font-weight: 800; white-space: nowrap; }
.oc-discovery-rail__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 48px) / 4); gap: 16px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scrollbar-width: thin; scrollbar-color: #83adb4 transparent; padding: 2px 2px 16px; }

.oc-discovery-card { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 390px; overflow: hidden; border: 1px solid var(--oc-line); border-radius: 8px; background: var(--oc-paper); box-shadow: 0 10px 28px rgba(10,36,54,.08); scroll-snap-align: start; }
.oc-discovery-card.is-map-active { border-color: var(--oc-cyan); box-shadow: 0 0 0 2px rgba(0,169,199,.12), 0 12px 30px rgba(10,36,54,.1); }
.oc-discovery-card__image { display: block; height: 158px; overflow: hidden; background: #d9e8e8; }
.oc-discovery-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .28s ease; }
.oc-discovery-card:hover .oc-discovery-card__image img { transform: scale(1.025); }
.oc-discovery-card__body { display: flex; flex: 1; flex-direction: column; padding: 15px; }
.oc-discovery-card__eyebrow { display: flex; align-items: start; justify-content: space-between; gap: 8px; min-height: 31px; color: #33616a; font-size: .69rem; font-weight: 850; text-transform: uppercase; }
.oc-discovery-card__eyebrow span { max-width: 58%; }
.oc-discovery-card__eyebrow small { max-width: 42%; color: #6c5960; text-align: right; text-transform: none; }
.oc-discovery-card h3 { margin: 8px 0 4px; color: var(--oc-ink); font-size: 1.05rem; line-height: 1.22; letter-spacing: 0; }
.oc-discovery-card h3 a { color: inherit; text-decoration: none; }
.oc-discovery-card p { margin: 0; color: #526872; font-size: .88rem; }
.oc-discovery-card__signals { display: grid; gap: 3px; margin: 12px 0; color: var(--oc-green); font-size: .78rem; font-weight: 750; }
.oc-discovery-card__signals small { color: #60727a; font-weight: 650; }
.oc-discovery-card__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 10px; margin-top: auto; padding-top: 11px; border-top: 1px solid #e3ecee; }
.oc-discovery-card__actions a,
.oc-discovery-card__actions button { padding: 0; border: 0; background: transparent; color: #08677a; font: inherit; font-size: .75rem; font-weight: 850; cursor: pointer; text-decoration: none; }
.oc-discovery-card__actions span { color: #6c7478; font-size: .7rem; }

.oc-route-rail .oc-discovery-rail__track { grid-auto-columns: calc((100% - 48px) / 4); }
.oc-route-card { position: relative; display: flex; flex-direction: column; justify-content: end; min-height: 300px; overflow: hidden; padding: 20px; border-radius: 8px; color: #fff; text-decoration: none; scroll-snap-align: start; isolation: isolate; }
.oc-route-card::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(5,22,37,.03) 25%, rgba(5,22,37,.9) 100%); }
.oc-route-card img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.oc-route-card:hover img { transform: scale(1.03); }
.oc-route-card span { color: var(--oc-aqua); font-size: .7rem; font-weight: 900; text-transform: uppercase; }
.oc-route-card strong { margin-top: 5px; color: #fff; font-size: 1.35rem; line-height: 1.05; }
.oc-route-card small { margin-top: 6px; color: #eaf7f7; line-height: 1.35; }

.oc-home-hero { --oc-hero-image: url('assets/core/oc-coast-hero.webp'); }
.oc-home-hero::before { background: linear-gradient(90deg, rgba(5,22,37,.9) 0%, rgba(5,22,37,.74) 42%, rgba(5,22,37,.2) 78%, rgba(5,22,37,.05) 100%), var(--oc-hero-image) center/cover no-repeat !important; }
.oc-home-hero__copy { max-width: 760px; }
.oc-home-hero .oc-rotating-prompt { min-height: 1.6em; margin: 18px 0; color: var(--oc-aqua); font-size: clamp(1.65rem, 3.4vw, 2.05rem); font-weight: 850; line-height: 1.18; text-shadow: 0 3px 18px rgba(0,0,0,.32); }
.oc-home-hero .oc-home-ask { padding: 22px; border: 1px solid rgba(143,231,228,.34); border-radius: 24px; background: linear-gradient(135deg, rgba(4,20,38,.82), rgba(7,32,55,.58)); box-shadow: 0 18px 44px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.09); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); transition: border-color .24s ease, box-shadow .24s ease, transform .24s ease; }
.oc-home-hero .oc-home-ask:hover, .oc-home-hero .oc-home-ask:focus-within { border-color: rgba(143,231,228,.72); box-shadow: 0 22px 52px rgba(0,0,0,.3), 0 0 36px rgba(28,200,214,.2), inset 0 1px 0 rgba(255,255,255,.13); transform: translateY(-2px); }
.oc-home-hero .oc-home-ask label { color: var(--oc-aqua); }
.oc-home-hero .oc-home-ask__row { overflow: hidden; border-radius: 16px; box-shadow: 0 8px 20px rgba(0,0,0,.18); }
.oc-home-hero .oc-home-ask input { border: 0; border-radius: 16px 0 0 16px; }
.oc-home-hero .oc-home-ask button { border-radius: 0 16px 16px 0; }
.oc-home-hero .oc-home-prompts a { border-radius: 999px; }
.oc-home-hero .oc-home-paths { gap: 16px; margin-top: 18px; }
.oc-home-hero .oc-home-path { min-height: 164px; padding: 23px 25px; border: 1px solid rgba(143,231,228,.29); border-radius: 24px; background: linear-gradient(135deg, rgba(4,20,38,.76), rgba(7,32,55,.48)); box-shadow: 0 14px 36px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); transition: border-color .24s ease, box-shadow .24s ease, transform .24s ease, background .24s ease; }
.oc-home-hero .oc-home-path:hover, .oc-home-hero .oc-home-path:focus-visible { border-color: rgba(143,231,228,.72); background: linear-gradient(135deg, rgba(6,31,52,.88), rgba(10,53,73,.62)); box-shadow: 0 20px 44px rgba(0,0,0,.28), 0 0 30px rgba(28,200,214,.18), inset 0 1px 0 rgba(255,255,255,.13); transform: translateY(-3px); }
.oc-home-hero .oc-home-path small { max-width: 320px; line-height: 1.45; }
.oc-home-platform { padding: 72px 0 48px; background: #f7fbfb; }
.oc-home-platform .oc-discovery-rail { margin-top: 26px; }
.oc-home-platform .oc-discovery-rail__head { display: none; }
.oc-home-business { --oc-business-image: url('assets/core/oc-business-district.webp'); background-position: center; }
.oc-home-business::before { background: linear-gradient(90deg, rgba(5,22,37,.94), rgba(5,22,37,.72) 55%, rgba(5,22,37,.25)), var(--oc-business-image) center/cover no-repeat !important; }

.oc-core-hero--octo { padding: 70px 0 44px; background: radial-gradient(circle at 85% 10%, rgba(143,231,228,.26), transparent 34%), var(--oc-navy); color: #fff; }
.oc-core-hero--octo .oc-shell { max-width: 990px; }
.oc-core-hero--octo h1 { color: #fff; font-size: 3.6rem; letter-spacing: 0; }
.oc-core-hero--octo > .oc-shell > p { max-width: 700px; color: #d8ebed; }
.oc-core-hero--octo .oc-rotating-prompt { color: var(--oc-aqua); }
.oc-core-search { padding: 17px; border: 1px solid rgba(255,255,255,.24); border-radius: 8px; background: rgba(255,255,255,.1); backdrop-filter: blur(10px); }
.oc-core-search__advanced { margin-top: 11px; }
.oc-core-search__advanced summary { width: max-content; color: #d6edef; font-size: .8rem; font-weight: 800; cursor: pointer; }
.oc-core-search__advanced .oc-core-search__filters { margin-top: 12px; }
.oc-octo-summary { margin: 0 0 20px; padding: 18px 20px; border-left: 4px solid var(--oc-cyan); background: var(--oc-mist); color: var(--oc-ink); }
.oc-octo-summary strong { display: block; margin-bottom: 4px; font-size: 1.1rem; }
.oc-result-card--visual { grid-template-columns: 150px 1fr; overflow: hidden; }
.oc-result-card__image { min-height: 190px; background: #d9e8e8; }
.oc-result-card__image img { width: 100%; height: 100%; object-fit: cover; }
.oc-result-card__trust { margin: 10px 0; }
.oc-result-card__trust summary { color: #4d626e; font-size: .78rem; font-weight: 800; cursor: pointer; }
.oc-result-card__trust dl { margin-top: 10px !important; }
.oc-octo-followup { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--oc-line); }

.oc-directory-hero .oc-rotating-prompt,
.oc-resident-hero .oc-rotating-prompt { color: #127287; }
.oc-directory-browse { padding: 40px 0 70px; background: #f8fbfb; }
.oc-directory-browse__modes { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 30px; }
.oc-directory-browse__modes button,
.oc-directory-browse__modes a { display: inline-flex; min-height: 40px; align-items: center; padding: 0 15px; border: 1px solid var(--oc-line); border-radius: 5px; background: #fff; color: var(--oc-ink); font-weight: 850; text-decoration: none; }
.oc-directory-browse__modes [aria-selected="true"] { border-color: var(--oc-cyan); background: var(--oc-navy); color: #fff; }
.oc-directory-panel[hidden] { display: none !important; }
.oc-directory-list-panel { padding-top: 10px; }
.oc-directory-list-panel .oc-dbc-results { grid-template-columns: repeat(3, minmax(0,1fr)); }
.oc-directory-list-panel .oc-dbc-business-card h3 { font-size: 1.05rem; }
.oc-directory-map-panel .oc-core-map { min-height: 580px; }
.oc-data-basis { margin: -20px 0 32px; color: #536b73; font-size: .8rem; }

.oc-resident-hero { position: relative; overflow: hidden; color: #fff; background: var(--oc-navy); }
.oc-resident-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,22,37,.95), rgba(5,22,37,.76) 55%, rgba(5,22,37,.26)), url('assets/core/oc-resident-weekend.webp') center/cover no-repeat; }
.oc-resident-hero .oc-shell { position: relative; }
.oc-resident-hero h1,
.oc-resident-hero p { color: #fff; }
.oc-resident-hero .oc-rotating-prompt { color: var(--oc-aqua); }
.oc-resident-feed { min-width: 0; }
.oc-resident-feed .oc-discovery-rail { margin-bottom: 34px; }
.oc-resident-event-band { margin-top: 34px; }

.oc-business-home__hero { position: relative; overflow: hidden; background: var(--oc-navy); }
.oc-business-home__hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,22,37,.96), rgba(5,22,37,.79) 58%, rgba(5,22,37,.35)), url('assets/core/oc-business-district.webp') center/cover no-repeat; }
.oc-business-home__hero-grid { position: relative; }
.oc-business-home__hero h1,
.oc-business-home__hero p { color: #fff; }
.oc-business-home__hero .oc-rotating-prompt { color: var(--oc-aqua); }
.oc-business-home__hero .oc-business-signal { background: rgba(255,255,255,.94); box-shadow: 0 16px 38px rgba(0,0,0,.2); }
.oc-b2b .oc-discovery-rail { margin-top: 24px; }
.oc-business-faq { background: #fff; }

@media (max-width: 1100px) {
  .oc-discovery-rail__track,
  .oc-route-rail .oc-discovery-rail__track { grid-auto-columns: calc((100% - 32px) / 3); }
  .oc-directory-list-panel .oc-dbc-results { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .oc-home-hero .oc-rotating-prompt { margin: 16px 0; font-size: clamp(1.45rem, 7.2vw, 1.85rem); }
  .oc-home-hero .oc-home-ask { padding: 16px; border-radius: 20px; }
  .oc-home-hero .oc-home-ask__row { display: grid; grid-template-columns: 1fr; border-radius: 14px; }
  .oc-home-hero .oc-home-ask input { min-height: 58px; border-radius: 14px 14px 0 0; }
  .oc-home-hero .oc-home-ask button { min-height: 52px; border-radius: 0 0 14px 14px; }
  .oc-home-hero .oc-home-paths { grid-template-columns: 1fr; gap: 12px; }
  .oc-home-hero .oc-home-path { min-height: 0; padding: 20px; border-radius: 20px; }
  .oc-discovery-rail { margin-bottom: 30px; }
  .oc-discovery-rail__head { align-items: start; }
  .oc-discovery-rail__head h2 { font-size: 1.3rem; }
  .oc-discovery-rail__controls button { display: none; }
  .oc-discovery-rail__track,
  .oc-route-rail .oc-discovery-rail__track { grid-auto-columns: 78%; gap: 12px; margin-right: -18px; }
  .oc-discovery-card { min-height: 386px; }
  .oc-discovery-card__image { height: 164px; }
  .oc-route-card { min-height: 270px; }
  .oc-core-hero--octo { padding: 48px 0 34px; }
  .oc-core-hero--octo h1 { font-size: 2.7rem; }
  .oc-core-search { padding: 12px; }
  .oc-result-card--visual { grid-template-columns: 1fr; }
  .oc-result-card__image { height: 175px; min-height: 0; }
  .oc-directory-list-panel .oc-dbc-results { grid-template-columns: 1fr; }
  .oc-directory-browse__modes { overflow-x: auto; flex-wrap: nowrap; }
  .oc-directory-browse__modes button,
  .oc-directory-browse__modes a { flex: 0 0 auto; }
}

@media (prefers-reduced-motion: reduce) {
  .oc-rotating-prompt span,
  .oc-discovery-card__image img,
  .oc-route-card img { transition: none; }
  .oc-discovery-card:hover .oc-discovery-card__image img,
  .oc-route-card:hover img { transform: none; }
}

/* FINAL HUMAN-REVIEW POLISH */
.oc-core-home .oc-home-platform { position: relative; background: #e5f3f1; }
.oc-core-home .oc-home-platform::before { content: ""; position: absolute; inset: 0 0 auto; height: 1px; background: #9fcfd0; }
.oc-core-home .oc-home-trust { background: #f8f3e9; }
.oc-core-home .oc-home-trust__list article { background: rgba(255,255,255,.74); }
.oc-core-home .oc-home-coverage { background: #dff1ee; }
.oc-core-home .oc-faq { background: #f4f7f5; }
.oc-core-home .oc-home-live article:nth-child(2) { background: #eff9f7; }
.oc-core-home .oc-home-live article:nth-child(3) { background: #fff7ed; }

.oc-discovery-rail__track { grid-auto-columns: calc((100% - 54px) / 3.55); gap: 18px; padding-bottom: 19px; }
.oc-route-rail .oc-discovery-rail__track { grid-auto-columns: calc((100% - 54px) / 3.55); }
.oc-discovery-card { min-height: 420px; }
.oc-discovery-card__image { height: 188px; }
.oc-discovery-card__body { padding: 17px; }
.oc-discovery-card h3 { font-size: 1.12rem; }
.oc-discovery-rail__controls button { border-radius: 50%; box-shadow: 0 5px 16px rgba(7,27,47,.1); }

.oc-resident-discovery { background: #e5f2f1; }
.oc-resident-discovery .oc-view-tabs { margin-bottom: 24px; }
.oc-resident-discovery .oc-core-workspace__grid { grid-template-columns: minmax(0,1fr); }
.oc-resident-discovery[data-core-active-view="feed"] .oc-resident-feed { grid-column: 1 / -1; padding: 38px; }
.oc-resident-discovery[data-core-active-view="map"] .oc-core-workspace__grid { grid-template-columns: minmax(0,42fr) minmax(0,58fr); gap: 24px; }
.oc-resident-discovery[data-core-active-view="map"] .oc-resident-feed { padding: 24px; }
.oc-resident-discovery[data-core-active-view="map"] .oc-discovery-rail__track { grid-auto-columns: 78%; }
.oc-resident-discovery[data-core-active-view="map"] .oc-discovery-card { min-height: 390px; }
.oc-resident-discovery[data-core-active-view="map"] .oc-discovery-card__image { height: 158px; }
.oc-resident-discovery[data-core-active-view="map"] .oc-core-map { min-height: 680px; }
.oc-resident-discovery[data-core-active-view="map"] .oc-core-map__frame,
.oc-resident-discovery[data-core-active-view="map"] .oc-core-map__frame iframe { height: 520px; }
.oc-resident-feed > .oc-discovery-rail { padding: 28px 0 10px; border-top: 1px solid #b9d5d5; }
.oc-resident-feed > .oc-discovery-rail:nth-of-type(even) { margin-inline: -20px; padding-inline: 20px; background: #f7f1e7; }
.oc-resident-event-band { margin-inline: -38px; padding: 44px 38px 6px; background: #d8efec; }

.oc-octo-discovery { background: #dcecea; }
.oc-octo-discovery .oc-core-workspace__grid { grid-template-columns: minmax(0,43fr) minmax(0,57fr); gap: 24px; }
.oc-octo-discovery .oc-core-results { padding: 28px; }
.oc-octo-discovery .oc-core-map { top: 84px; min-height: 690px; padding: 26px; background: #f9fcfb; }
.oc-octo-discovery .oc-core-map__frame,
.oc-octo-discovery .oc-core-map__frame iframe { height: 525px; }
.oc-octo-summary { padding: 20px 22px; border-left-width: 5px; background: #dff3ef; }
.oc-octo-summary strong { font-size: 1.2rem; }
.oc-octo-summary span { display: block; color: #47616a; line-height: 1.55; }
.oc-octo-followup { margin: 0 0 22px; padding: 16px; border: 0; background: var(--oc-navy); color: #fff; }
.oc-octo-followup > label { color: var(--oc-aqua); }
.oc-result-list { gap: 16px; }
.oc-result-card--visual { grid-template-columns: 142px minmax(0,1fr); padding: 0; border-color: #bdd3d4; box-shadow: 0 10px 24px rgba(7,27,47,.07); }
.oc-result-card__image { min-height: 218px; }
.oc-result-card__body { padding: 18px; }
.oc-result-card--visual[hidden] { display: none !important; }
.oc-octo-more { width: 100%; min-height: 48px; margin-top: 18px; border: 1px solid #87bec2; background: #edf8f6; color: var(--oc-ink); font-weight: 850; cursor: pointer; }
.oc-core-map--limited { position: static; min-height: 0 !important; align-self: start; padding: 28px; border-left: 5px solid var(--oc-orange); background: #fff7ed !important; box-shadow: none; }
.oc-core-map--limited p { margin: 10px 0 0; color: #536a72; line-height: 1.6; }
.oc-octo-discovery[data-core-map-capable="false"][data-core-active-view="results"] .oc-core-results,
.oc-octo-discovery[data-core-map-capable="false"][data-core-active-view="map"] .oc-core-map { grid-column: 1 / -1; }
.oc-octo-discovery[data-core-active-view="plan"] .oc-core-plan { grid-column: 1 / -1; }

.oc-directory-browse { background: #e7f3f1; }
.oc-directory-panel[data-directory-panel="browse"] > .oc-discovery-rail { padding: 30px 20px 12px; margin-inline: -20px; border-top: 1px solid #b8d5d4; }
.oc-directory-panel[data-directory-panel="browse"] > .oc-discovery-rail:nth-of-type(even) { background: #f8f3e9; }
.oc-directory-panel[data-directory-panel="browse"] > .oc-discovery-rail:nth-of-type(odd) { background: rgba(255,255,255,.42); }
.oc-directory-list-panel { padding: 30px; background: rgba(255,255,255,.8); }
.oc-directory-map-panel .oc-core-map { background: #f9fcfb; }

.oc-search-business { background: #dff2ef; }
.oc-business-shift-grid { gap: 10px; border: 0; }
.oc-business-shift-grid article { min-height: 275px; border: 1px solid #b7d3d3; background: rgba(255,255,255,.8); box-shadow: 0 14px 34px rgba(7,27,47,.07); }
.oc-business-shift-grid article:nth-child(2),
.oc-business-shift-grid article:nth-child(4) { transform: translateY(18px); background: #fff7ed; }
.oc-business-home .oc-core-section--dark { position: relative; overflow: hidden; background: var(--oc-navy); }
.oc-business-home .oc-core-section--dark::before { content: ""; position: absolute; inset: 0 0 0 54%; background: url('assets/core/oc-business-district.webp') center/cover no-repeat; opacity: .16; }
.oc-business-operating { position: relative; }
.oc-business-operating__layers { perspective: 900px; }
.oc-business-operating__layers article { position: relative; overflow: hidden; min-height: 210px; background: rgba(11,32,57,.9); box-shadow: 0 18px 38px rgba(0,0,0,.2); }
.oc-business-operating__layers article:nth-child(2),
.oc-business-operating__layers article:nth-child(4) { transform: translateY(18px); }
.oc-business-operating__layers article::after { content: ""; position: absolute; right: -24px; bottom: -24px; width: 78px; height: 78px; border: 1px solid rgba(143,231,228,.25); transform: rotate(18deg); }
#business-today { background: #f8f3e9; }
.oc-business-today-grid article:nth-child(2) { background: #e8f5f2; }

.oc-postcard-feature { overflow: hidden; background: #082039; color: #fff; }
.oc-postcard-feature__grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(520px,1.1fr); gap: 72px; align-items: center; }
.oc-postcard-feature h2 { max-width: 650px; margin: 0 0 18px; color: #fff; font-size: 3rem; line-height: 1.04; }
.oc-postcard-feature__copy > p { max-width: 690px; color: #c7d9df; font-size: 1.04rem; line-height: 1.7; }
.oc-postcard-feature .oc-core-disclosure { margin-top: 18px; color: #9fb8c1; }
.oc-postcard-journey { display: grid; gap: 10px; margin: 30px 0; }
.oc-postcard-journey article { display: grid; grid-template-columns: 72px 1fr 22px 1fr 22px 1.25fr; gap: 9px; align-items: center; padding: 14px 0; border-block: 1px solid rgba(143,231,228,.16); }
.oc-postcard-journey article + article { border-top: 0; }
.oc-postcard-journey span { color: var(--oc-aqua); font-size: .68rem; font-weight: 900; }
.oc-postcard-journey strong { color: #fff; font-size: .78rem; line-height: 1.35; }
.oc-postcard-journey i { color: var(--oc-orange); font-style: normal; font-weight: 900; }
.oc-postcard-product { position: relative; min-height: 640px; display: grid; place-items: center; }
.oc-postcard-product__shadow { position: absolute; width: 72%; height: 82%; background: #00a9c7; opacity: .2; transform: translate(34px,30px) rotate(5deg); }
.oc-postcard-product__sheet { position: relative; width: min(100%,520px); aspect-ratio: 3 / 4; display: grid; grid-template-rows: auto 1fr auto; padding: 22px; border: 8px solid #fff; background: #f9f6ef; color: var(--oc-ink); box-shadow: 0 38px 80px rgba(0,0,0,.38); transform: rotate(-3deg); }
.oc-postcard-product__sheet header { display: grid; grid-template-columns:auto 1fr; gap: 4px 18px; align-items: end; padding-bottom: 17px; border-bottom: 5px solid var(--oc-navy); }
.oc-postcard-product__sheet header span { grid-row: 1 / 3; align-self: center; padding: 12px; background: var(--oc-navy); color: #fff; font-weight: 900; }
.oc-postcard-product__sheet header strong { font-size: 1.05rem; }
.oc-postcard-product__sheet header small { color: #547079; font-weight: 800; }
.oc-postcard-product__grid { display: grid; grid-template-columns: 1.3fr 1fr; grid-template-rows: 1.3fr repeat(3,1fr); gap: 8px; padding: 12px 0; }
.oc-postcard-product__grid > div { display: flex; flex-direction: column; justify-content: end; padding: 14px; border: 1px solid #adc7c9; background: #e5f3f1; }
.oc-postcard-product__grid .is-featured { grid-row: span 2; background: var(--oc-navy); color: #fff; }
.oc-postcard-product__grid .is-featured span { color: var(--oc-aqua); }
.oc-postcard-product__grid span { font-size: .62rem; font-weight: 900; }
.oc-postcard-product__grid strong { margin-top: 5px; font-size: .82rem; }
.oc-postcard-product__grid small { margin-top: 8px; color: #a9c5cc; }
.oc-postcard-product__grid .is-qr { align-items: center; justify-content: center; gap: 9px; background: #fff1e7; text-align: center; }
.oc-postcard-product__grid .is-qr b { display: grid; width: 58px; height: 58px; place-items: center; border: 7px solid var(--oc-navy); background: #fff; }
.oc-postcard-product__grid .is-qr b::after { content: "QR"; color: var(--oc-navy); font-size: .7rem; }
.oc-postcard-product__sheet footer { display: flex; justify-content: space-between; gap: 18px; padding-top: 14px; border-top: 1px solid #adc7c9; }
.oc-postcard-product__sheet footer span { max-width: 65%; color: #536b73; font-size: .68rem; text-align: right; }

.oc-growth-tools { background: #e4f2f0; }
.oc-growth-groups { display: grid; grid-template-columns: 1fr 1fr; gap: 44px 56px; }
.oc-growth-groups > section { border-top: 5px solid var(--oc-navy); }
.oc-growth-groups > section:nth-child(2) { border-top-color: var(--oc-cyan); }
.oc-growth-groups > section:nth-child(3) { border-top-color: var(--oc-orange); }
.oc-growth-groups > section:nth-child(4) { border-top-color: var(--oc-green); }
.oc-growth-groups > section > header { display: flex; gap: 15px; align-items: center; padding: 18px 0 12px; }
.oc-growth-groups > section > header span { color: #56717a; font-size: .7rem; font-weight: 900; }
.oc-growth-groups h3 { margin: 0; font-size: 1.45rem; }
.oc-growth-group__items article { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 20px; align-items: center; min-height: 94px; padding: 15px 0; border-top: 1px solid #b8d1d1; }
.oc-growth-group__items strong { display: block; color: var(--oc-ink); }
.oc-growth-group__items p { margin: 4px 0 0; color: #536a72; font-size: .84rem; line-height: 1.45; }
.oc-growth-group__items a,
.oc-growth-group__items article > span { color: #087387; font-size: .7rem; font-weight: 900; text-transform: uppercase; }
.oc-growth-group__items article > span { color: #a34d2c; }
.oc-business-home #opportunities { background: #fff7ed; }
.oc-business-home .oc-b2b { background: #edf8f6; }
.oc-business-home .oc-business-faq { background: #f7f4ee; }

@media (max-width: 1100px) {
  .oc-postcard-feature__grid { grid-template-columns: 1fr 460px; gap: 42px; }
  .oc-postcard-product { min-height: 570px; }
  .oc-growth-groups { gap: 36px; }
}

@media (max-width: 900px) {
  .oc-resident-discovery[data-core-active-view="map"] .oc-core-workspace__grid,
  .oc-octo-discovery .oc-core-workspace__grid { grid-template-columns: 1fr; }
  .oc-postcard-feature__grid { grid-template-columns: 1fr; }
  .oc-postcard-product { min-height: 610px; }
  .oc-business-shift-grid article:nth-child(2),
  .oc-business-shift-grid article:nth-child(4),
  .oc-business-operating__layers article:nth-child(2),
  .oc-business-operating__layers article:nth-child(4) { transform: none; }
}

@media (max-width: 760px) {
  .oc-home-hero .oc-rotating-prompt { margin: 16px 0; font-size: clamp(1.45rem, 7.2vw, 1.85rem); }
  .oc-home-hero .oc-home-ask { padding: 16px; border-radius: 20px; }
  .oc-home-hero .oc-home-ask__row { display: grid; grid-template-columns: 1fr; border-radius: 14px; }
  .oc-home-hero .oc-home-ask input { min-height: 58px; border-radius: 14px 14px 0 0; }
  .oc-home-hero .oc-home-ask button { min-height: 52px; border-radius: 0 0 14px 14px; }
  .oc-home-hero .oc-home-paths { grid-template-columns: 1fr; gap: 12px; }
  .oc-home-hero .oc-home-path { min-height: 0; padding: 20px; border-radius: 20px; }
  .oc-discovery-rail__track,
  .oc-route-rail .oc-discovery-rail__track { grid-auto-columns: 82%; }
  .oc-discovery-card { min-height: 405px; }
  .oc-discovery-card__image { height: 176px; }
  .oc-resident-discovery[data-core-active-view="feed"] .oc-resident-feed,
  .oc-resident-discovery[data-core-active-view="map"] .oc-resident-feed { padding: 20px; }
  .oc-resident-feed > .oc-discovery-rail:nth-of-type(even) { margin-inline: -10px; padding-inline: 10px; }
  .oc-resident-event-band { margin-inline: -20px; padding: 36px 20px 6px; }
  .oc-octo-discovery .oc-core-results { padding: 20px; }
  .oc-result-card--visual { grid-template-columns: 1fr; }
  .oc-result-card__image { height: 190px; min-height: 0; }
  .oc-postcard-feature h2 { font-size: 2.25rem; }
  .oc-postcard-journey article { grid-template-columns: 1fr; gap: 6px; }
  .oc-postcard-journey i { transform: rotate(90deg); width: max-content; }
  .oc-postcard-product { min-height: auto; padding: 34px 0 18px; }
  .oc-postcard-product__sheet { width: 94%; padding: 14px; }
  .oc-postcard-product__sheet header { grid-template-columns: 1fr; }
  .oc-postcard-product__sheet header span { grid-row: auto; width: max-content; }
  .oc-postcard-product__grid > div { padding: 9px; }
  .oc-growth-groups { grid-template-columns: 1fr; gap: 34px; }
  .oc-business-home .oc-core-section--dark::before { inset: 0; opacity: .1; }
}

@media (prefers-reduced-motion: reduce) {
  .oc-postcard-product__sheet,
  .oc-postcard-product__shadow,
  .oc-business-shift-grid article,
  .oc-business-operating__layers article { transform: none; }
}

/* LAUNCH CORRECTION */
.oc-core-map--handoff { position: static; min-height: 0 !important; height: auto !important; max-height: 420px; align-self: start; background: #f8f4eb !important; overflow: auto; }
.oc-core-map--handoff header { margin-bottom: 18px; }
.oc-core-map__handoff-body { display: grid; gap: 12px; padding: 26px; border: 1px solid #b7d4d0; background: linear-gradient(135deg,#e8f5f1,#fbf7ee); }
.oc-core-map__handoff-body > span { width: 40px; height: 40px; display:grid; place-items:center; border-radius:50%; background:var(--oc-navy); color:var(--oc-aqua); font-size:1.25rem; font-weight:900; }
.oc-core-map__handoff-body strong { font-size:1.25rem; color:var(--oc-ink); }
.oc-core-map__handoff-body p { margin:0; color:#49636b; line-height:1.55; }
.oc-core-map--handoff .oc-core-command { width:max-content; }

.oc-community-home, .oc-events-home { background:#f7f3eb; }
.oc-community-hero, .oc-events-hero { padding:88px 0 64px; background:linear-gradient(115deg,rgba(5,25,46,.94),rgba(8,38,58,.77)),url('assets/core/oc-resident-weekend.webp') center/cover; color:#fff; }
.oc-events-hero--compact, .oc-community-hero--compact, .oc-directory-hero--compact { padding:52px 0 38px; }
.oc-community-hero h1, .oc-events-hero h1 { max-width:680px; color:#fff; font-size:clamp(2.55rem,5vw,4.6rem); line-height:1.03; }
.oc-community-hero p, .oc-events-hero p { max-width:650px; color:#d1e4e5; font-size:1.08rem; line-height:1.65; }
.oc-community-actions { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.oc-community-actions a { min-height:145px; display:flex; flex-direction:column; justify-content:flex-end; padding:20px; border:1px solid #bdd8d6; background:#fff; color:var(--oc-ink); text-decoration:none; box-shadow:0 12px 26px rgba(6,25,43,.06); }
.oc-community-actions a:nth-child(2n) { background:#e7f4f1; }
.oc-community-actions strong { font-size:1.1rem; }
.oc-community-actions span { margin-top:7px; color:#506972; line-height:1.45; }
.oc-community-sports { background:#e5f2ef; }
.oc-community-events { background:#fff8ee; }
.oc-community-event-list { display:grid; gap:10px; }
.oc-community-event-list a { display:grid; grid-template-columns:180px 1fr; gap:18px; align-items:center; padding:18px 0; border-top:1px solid #d7cdbd; color:var(--oc-ink); text-decoration:none; }
.oc-community-event-list span { color:#587079; font-weight:800; font-size:.82rem; }
.oc-events-home .oc-hero { min-height:0; }
.oc-events-home .oc-section:first-of-type { padding-top:38px; }
.oc-events-zero { margin-top:14px; padding:22px; border-left:4px solid var(--oc-orange); background:#fff8ee; }
.oc-events-zero p { max-width:680px; }

.oc-business-home .oc-core-section--dark .oc-business-operating > div:first-child { position:relative; z-index:1; }
.oc-business-home .oc-core-section--dark .oc-business-operating > div:first-child h2 { color:#fff; }
.oc-business-home .oc-core-section--dark .oc-business-operating > div:first-child p { color:#d5e7e8; }
.oc-business-home .oc-business-operating__layers article { border:1px solid rgba(143,231,228,.33); }
.oc-business-home .oc-business-operating__layers article h3 { color:#fff; }
.oc-business-home .oc-business-operating__layers article p { color:#d0e1e3; }
.oc-postcard-product__sheet { background:#fffaf1; border-color:#f9fbfa; }
.oc-postcard-product__collage { display:grid; grid-template-columns:1.25fr 1fr; grid-template-rows:1.35fr 1fr .72fr; gap:9px; padding:14px 0; }
.oc-postcard-product__collage figure { position:relative; overflow:hidden; margin:0; min-height:0; background:#dceceb; }
.oc-postcard-product__collage figure img { width:100%; height:100%; object-fit:cover; display:block; }
.oc-postcard-product__collage figure figcaption { position:absolute; inset:auto 0 0; padding:9px; background:linear-gradient(transparent,rgba(4,21,39,.92)); color:#fff; font-size:.62rem; font-weight:900; letter-spacing:.08em; }
.oc-postcard-product__hero { grid-row:span 2; }
.oc-postcard-product__hero figcaption { padding:18px !important; }
.oc-postcard-product__hero figcaption span { display:block; color:var(--oc-aqua); font-size:.62rem; }
.oc-postcard-product__hero figcaption strong { display:block; margin-top:6px; font-size:1rem; line-height:1.18; letter-spacing:0; }
.oc-postcard-product__feature { display:flex; flex-direction:column; justify-content:flex-end; padding:15px; background:var(--oc-navy); color:#fff; }
.oc-postcard-product__feature span { color:var(--oc-aqua); font-size:.62rem; font-weight:900; }
.oc-postcard-product__feature strong { margin-top:7px; font-size:.9rem; line-height:1.2; }
.oc-postcard-product__feature small { margin-top:8px; color:#c9dde0; font-size:.65rem; }
.oc-postcard-product__qr { display:flex; align-items:center; gap:10px; grid-column:span 2; padding:9px 12px; background:#fff0e4; color:var(--oc-ink); }
.oc-postcard-product__qr b { width:37px; height:37px; flex:0 0 37px; border:5px solid var(--oc-navy); background:repeating-conic-gradient(var(--oc-navy) 0 8%,#fff 0 16%); }
.oc-postcard-product__qr span { font-size:.58rem; font-weight:900; letter-spacing:.07em; }

@media(max-width:760px){
  .oc-community-hero,.oc-events-hero { padding:65px 0 48px; }
  .oc-events-hero--compact, .oc-community-hero--compact, .oc-directory-hero--compact { padding:42px 0 30px; }
  .oc-directory-panel[data-directory-panel="browse"]:not([hidden]) { display:block !important; min-width:0; }
  .oc-community-actions { grid-template-columns:1fr 1fr; }
  .oc-community-actions a { min-height:125px; padding:16px; }
  .oc-community-event-list a { grid-template-columns:1fr; gap:5px; }
  .oc-core-map--handoff .oc-core-command { width:100%; text-align:center; }
  .oc-postcard-product__collage { grid-template-rows:1.2fr 1fr .72fr; }
}


/* FINAL CONNECTED EXPERIENCE */
.oc-home-personal { padding: 78px 0; background: #f8f3e9; }
.oc-home-personal__head { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.72fr); gap: 36px; align-items: end; margin-bottom: 26px; }
.oc-home-personal__head h2 { margin: 7px 0 0; color: var(--oc-ink); font-size: clamp(2rem,3.4vw,3.25rem); line-height: 1.03; }
.oc-home-personal__head p { margin: 0; color: #4d6870; line-height: 1.65; }
.oc-home-personal__actions { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid #b9d4d0; border-left: 1px solid #b9d4d0; }
.oc-home-personal__actions a { min-height: 142px; display: flex; flex-direction: column; justify-content: flex-end; padding: 22px; border-right: 1px solid #b9d4d0; border-bottom: 1px solid #b9d4d0; background: rgba(255,255,255,.58); color: var(--oc-ink); text-decoration: none; transition: background .2s ease, transform .2s ease; }
.oc-home-personal__actions a:nth-child(even) { background: #e5f3f1; }
.oc-home-personal__actions a:hover { background: #fff; transform: translateY(-3px); }
.oc-home-personal__actions span { margin-bottom: 8px; color: #087387; font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.oc-home-personal__actions strong { max-width: 180px; font-size: 1rem; line-height: 1.28; }

.oc-resident-feed { display: flex; flex-direction: column; }
.oc-resident-feed > .oc-core-heading { order: 0; }
.oc-resident-feed > .oc-resident-event-band { order: 1; }
.oc-resident-priority { order: 2; }
.oc-resident-feed > #food-drink { order: 3; }
.oc-resident-personal { order: 4; }
.oc-resident-services { order: 5; }
.oc-resident-event-band { position: relative; overflow: hidden; border-top: 0; background: linear-gradient(135deg,#06233b,#0c3b50 54%,#075168) !important; color: #fff; box-shadow: 0 18px 42px rgba(5,27,47,.16); }
.oc-resident-event-band::before { content: 'LIVE LOCAL RADAR'; position: absolute; top: 18px; right: 28px; color: rgba(112,244,232,.78); font-size: .68rem; font-weight: 900; letter-spacing: .12em; }
.oc-resident-event-band .oc-core-kicker { color: #6ff1e5; }
.oc-resident-event-band h2, .oc-resident-event-band h3 a, .oc-resident-event-band time, .oc-resident-event-band .oc-core-heading a { color: #fff; }
.oc-resident-event-band .oc-core-heading p, .oc-resident-event-band .oc-resident-event p { color: #cae2e4; }
.oc-resident-event-band .oc-resident-event { border-color: rgba(143,231,228,.26); background: rgba(1,18,34,.26); }
.oc-resident-event-band .oc-resident-event > div > span { color: #6ff1e5; }
.oc-resident-event-band .oc-result-actions a, .oc-resident-event-band .oc-result-actions button { border-color: rgba(143,231,228,.38); background: rgba(255,255,255,.08); color: #fff; }
.oc-resident-event-band .oc-result-actions a:hover, .oc-resident-event-band .oc-result-actions button:hover { border-color: #6ff1e5; background: rgba(111,241,229,.16); }
.oc-resident-priority, .oc-resident-personal, .oc-resident-services { display: contents; }
.oc-resident-event-band { margin-top: 24px; }
.oc-resident-map-workspace { max-height: none !important; min-height: 640px !important; display: grid; align-content: start; gap: 22px; padding: 30px !important; background: linear-gradient(145deg,#eff8f6,#f8f3e9) !important; }
.oc-resident-map-workspace header { padding-bottom: 18px; border-bottom: 1px solid #b8d5d2; }
.oc-resident-map-workspace .oc-core-map__handoff-body { grid-template-columns: minmax(0,1fr); gap: 0; padding: 0; overflow: hidden; border: 1px solid #b7d4d0; background: #fff; }
.oc-resident-map-workspace__image { width: 100%; height: 245px; display: block; object-fit: cover; background: #dcecea; }
.oc-resident-map-workspace__details { display: grid; gap: 12px; padding: 24px; }
.oc-resident-map-workspace__details > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: var(--oc-navy); color: var(--oc-aqua); font-size: 1.2rem; font-weight: 900; }
.oc-resident-map-workspace__details strong { color: var(--oc-ink); font-size: 1.22rem; }
.oc-resident-map-workspace__details p { margin: 0; color: #49636b; line-height: 1.55; }
.oc-resident-map-workspace__details .oc-core-command { width: max-content; margin-top: 4px; }
.oc-resident-map-workspace .oc-core-disclosure { margin: 0; color: #536a72; line-height: 1.55; }

@media (max-width: 900px) {
  .oc-home-personal__actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .oc-resident-map-workspace { min-height: 0 !important; padding: 22px !important; }
}
@media (max-width: 760px) {
  .oc-home-hero .oc-rotating-prompt { margin: 16px 0; font-size: clamp(1.45rem, 7.2vw, 1.85rem); }
  .oc-home-hero .oc-home-ask { padding: 16px; border-radius: 20px; }
  .oc-home-hero .oc-home-ask__row { display: grid; grid-template-columns: 1fr; border-radius: 14px; }
  .oc-home-hero .oc-home-ask input { min-height: 58px; border-radius: 14px 14px 0 0; }
  .oc-home-hero .oc-home-ask button { min-height: 52px; border-radius: 0 0 14px 14px; }
  .oc-home-hero .oc-home-paths { grid-template-columns: 1fr; gap: 12px; }
  .oc-home-hero .oc-home-path { min-height: 0; padding: 20px; border-radius: 20px; }
  .oc-home-personal { padding: 58px 0; }
  .oc-home-personal__head { grid-template-columns: 1fr; gap: 14px; }
  .oc-home-personal__actions a { min-height: 126px; padding: 17px; }
  .oc-home-personal__actions strong { font-size: .9rem; }
  .oc-resident-map-workspace__image { height: 180px; }
  .oc-resident-map-workspace__details { padding: 20px; }
  .oc-resident-map-workspace__details .oc-core-command { width: 100%; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  .oc-home-personal__actions a { transition: none; transform: none; }
}

/* HOMEPAGE COMMUNITY CO-OP POSTCARD FEATURE */
.oc-core-home .oc-home-postcard { position: relative; overflow: hidden; padding: 86px 0; background: linear-gradient(135deg,#e5f4f1 0%,#f8f0e4 100%); }
.oc-core-home .oc-home-postcard::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 16% 80%, rgba(0,174,204,.15), transparent 31%), radial-gradient(circle at 86% 16%, rgba(243,107,53,.15), transparent 24%); pointer-events: none; }
.oc-home-postcard__grid { position: relative; display: grid; grid-template-columns: minmax(0,.92fr) minmax(420px,1.08fr); gap: clamp(38px,6vw,84px); align-items: center; }
.oc-home-postcard__copy h2 { max-width: 660px; margin: 9px 0 18px; color: var(--oc-ink); font-size: clamp(2.35rem,4vw,4.3rem); line-height: 1.01; letter-spacing: -.035em; }
.oc-home-postcard__copy > p { max-width: 650px; margin: 0 0 15px; color: #415f68; font-size: 1.04rem; line-height: 1.68; }
.oc-home-postcard__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.oc-home-postcard__actions a { display: inline-flex; min-height: 49px; align-items: center; justify-content: center; padding: 0 20px; border: 1px solid var(--oc-navy); border-radius: 999px; background: var(--oc-navy); color: #fff; font-size: .84rem; font-weight: 900; text-decoration: none; transition: transform .22s ease, box-shadow .22s ease, background .22s ease; }
.oc-home-postcard__actions a + a { border-color: #5e8d91; background: rgba(255,255,255,.58); color: var(--oc-ink); }
.oc-home-postcard__actions a:hover, .oc-home-postcard__actions a:focus-visible { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(7,27,47,.18); }
.oc-home-postcard__sample { position: relative; margin: 0; padding: 15px; border: 1px solid rgba(7,27,47,.18); border-radius: 28px; background: rgba(255,255,255,.68); box-shadow: 0 24px 52px rgba(7,27,47,.18); transform: rotate(1.5deg); }
.oc-home-postcard__sample::before { content: ""; position: absolute; inset: 24px -20px -22px 30px; z-index: -1; border-radius: 28px; background: rgba(0,174,204,.23); transform: rotate(-3deg); }
.oc-home-postcard__sample img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: center; border-radius: 18px; }
.oc-home-postcard__sample figcaption { display: grid; gap: 4px; padding: 15px 6px 2px; }
.oc-home-postcard__sample figcaption span { color: #087387; font-size: .67rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.oc-home-postcard__sample figcaption strong { color: var(--oc-ink); font-size: 1.08rem; }
.oc-home-postcard__sample figcaption small { color: #4b6870; line-height: 1.45; }
@media (max-width: 900px) { .oc-home-postcard__grid { grid-template-columns: 1fr; } .oc-home-postcard__sample { max-width: 700px; } }
@media (max-width: 760px) { .oc-core-home .oc-home-postcard { padding: 62px 0; } .oc-home-postcard__copy h2 { font-size: clamp(2.2rem,10vw,3.2rem); } .oc-home-postcard__actions { display: grid; grid-template-columns: 1fr; } .oc-home-postcard__actions a { width: 100%; } .oc-home-postcard__sample { padding: 10px; border-radius: 20px; transform: none; } .oc-home-postcard__sample::before { inset: 16px -8px -12px 14px; border-radius: 20px; } .oc-home-postcard__sample img { border-radius: 13px; } }
@media (prefers-reduced-motion: reduce) { .oc-home-postcard__actions a { transition: none; transform: none; } }
/* HOMEPAGE CONNECTED-EXPERIENCE COMPLETION */
.oc-core-home .oc-home-live { position: relative; overflow: hidden; padding: 78px 0; background: radial-gradient(circle at 14% 14%, rgba(0,185,212,.2), transparent 27%), radial-gradient(circle at 84% 88%, rgba(246,118,56,.22), transparent 31%), #061a30; color: #fff; }
.oc-core-home .oc-home-live::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(143,231,228,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(143,231,228,.07) 1px, transparent 1px); background-size: 58px 58px; mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent); }
.oc-home-live .oc-shell { display: block !important; padding: 0 !important; position: relative; }
.oc-home-live__intro { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,.72fr); gap: 42px; align-items: end; margin-bottom: 30px; }
.oc-home-live__intro h2 { margin: 7px 0 0; color: #fff; font-size: clamp(2.1rem,4vw,3.7rem); line-height: 1.02; }
.oc-home-live__intro p { margin: 0; color: #c6dce2; font-size: 1.05rem; line-height: 1.7; }
.oc-home-live__tiles { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.oc-home-live__tiles a { position: relative; min-height: 224px; display: flex; flex-direction: column; padding: 25px; overflow: hidden; border: 1px solid rgba(143,231,228,.42); border-radius: 24px; background: linear-gradient(135deg, rgba(255,255,255,.17), rgba(255,255,255,.06)); box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 16px 36px rgba(0,0,0,.15); backdrop-filter: blur(12px); color: #fff; text-decoration: none; transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease, background .24s ease; }
.oc-home-live__tiles a::after { content: ""; position: absolute; right: -25px; bottom: -30px; width: 110px; height: 110px; border: 1px solid rgba(143,231,228,.3); border-radius: 50%; transition: transform .24s ease; }
.oc-home-live__tiles a:hover { transform: translateY(-7px); border-color: var(--oc-aqua); background: linear-gradient(135deg, rgba(0,185,212,.24), rgba(255,255,255,.1)); box-shadow: 0 0 0 1px rgba(143,231,228,.1), 0 22px 48px rgba(0,185,212,.2); }
.oc-home-live__tiles a:hover::after { transform: scale(1.22); }
.oc-home-live__tiles span, .oc-home-plan-journey em { display: block; color: var(--oc-aqua); font-size: .72rem; font-style: normal; font-weight: 900; letter-spacing: .075em; text-transform: uppercase; }
.oc-home-live__tiles strong { max-width: 280px; margin: auto 0 10px; font-size: clamp(1.25rem,1.9vw,1.65rem); line-height: 1.15; }
.oc-home-live__tiles small { max-width: 300px; color: #d2e2e7; font-size: .9rem; line-height: 1.52; }
.oc-home-live__tiles b { position: absolute; top: 25px; right: 24px; color: var(--oc-aqua); font-size: 1.35rem; }

.oc-home-personal { position: relative; overflow: hidden; }
.oc-home-plan-journey { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; position: relative; }
.oc-home-plan-journey::before { content: ""; position: absolute; top: 39px; right: 12%; left: 12%; height: 1px; background: linear-gradient(90deg, #49b9c4, #f2763b, #49b9c4); opacity: .58; }
.oc-home-plan-journey a { position: relative; display: grid; grid-template-columns: 60px 1fr; gap: 17px; min-height: 210px; padding: 25px; border: 1px solid #b9d4d0; border-radius: 24px; background: rgba(255,255,255,.72); box-shadow: 0 14px 32px rgba(7,27,47,.06); color: var(--oc-ink); text-decoration: none; transition: transform .24s ease, box-shadow .24s ease, background .24s ease; }
.oc-home-plan-journey a:nth-child(2) { background: #e5f3f1; transform: translateY(16px); }
.oc-home-plan-journey a:nth-child(3) { background: #fff7ed; }
.oc-home-plan-journey a:hover { transform: translateY(-7px); background: #fff; box-shadow: 0 22px 42px rgba(7,27,47,.13); }
.oc-home-plan-journey a:nth-child(2):hover { transform: translateY(9px); }
.oc-home-plan-journey > a > span { z-index: 1; display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; background: var(--oc-navy); box-shadow: 0 0 0 8px rgba(229,243,241,.95); color: var(--oc-aqua); font-size: .72rem; font-weight: 900; }
.oc-home-plan-journey strong { display: block; margin: 7px 0 9px; font-size: 1.2rem; line-height: 1.2; }
.oc-home-plan-journey small { display: block; color: #4d6870; font-size: .9rem; line-height: 1.55; }
.oc-home-plan-journey i { position: absolute; right: 23px; bottom: 20px; color: var(--oc-orange); font-size: 1.3rem; font-style: normal; }

.oc-home-octo__head h2 { max-width: 760px; }
.oc-home-octo-map__shell { position: relative; height: 100%; min-height: 350px; overflow: hidden; border: 1px solid rgba(143,231,228,.48); border-radius: 24px; box-shadow: 0 20px 44px rgba(0,0,0,.22); }
.oc-home-octo-map__shell iframe { display: block; width: 100%; height: 100%; min-height: 350px; filter: saturate(.82) contrast(1.04); }
.oc-home-octo-map__badge { position: absolute; z-index: 2; top: 17px; left: 17px; display: grid; grid-template-columns: 36px 1fr; gap: 1px 9px; align-items: center; padding: 9px 13px 9px 9px; border: 1px solid rgba(143,231,228,.52); border-radius: 14px; background: rgba(5,22,37,.92); box-shadow: 0 8px 22px rgba(0,0,0,.25); color: #fff; }
.oc-home-octo-map__badge span { grid-row: span 2; display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: var(--oc-cyan); color: var(--oc-navy); font-size: .68rem; font-weight: 950; }
.oc-home-octo-map__badge strong { font-size: .78rem; }
.oc-home-octo-map__badge small { color: #b6d8df; font-size: .62rem; }

.oc-core-home .oc-home-trust { padding: 86px 0; }
.oc-home-trust__flow { position: relative; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; margin-top: 8px; }
.oc-home-trust__flow::before { content: ""; position: absolute; top: 39px; right: 8%; left: 8%; height: 2px; background: linear-gradient(90deg, #087387, #00b9d4, #f2763b); }
.oc-home-trust__flow article { position: relative; min-height: 226px; padding: 0 20px 18px; }
.oc-home-trust__flow article > span { position: relative; z-index: 1; display: grid; width: 78px; height: 78px; place-items: center; margin-bottom: 21px; border: 8px solid #f8f3e9; border-radius: 50%; background: var(--oc-navy); color: var(--oc-aqua); font-size: .78rem; font-weight: 950; }
.oc-home-trust__flow h3 { margin: 0 0 8px; color: var(--oc-ink); font-size: 1.07rem; line-height: 1.25; }
.oc-home-trust__flow p { margin: 0; color: #546c74; font-size: .9rem; line-height: 1.55; }
.oc-home-business__note { max-width: 720px; margin: 14px 0 0; padding-top: 14px; border-top: 1px solid rgba(143,231,228,.42); color: #d1e7e8 !important; font-weight: 700; }

@media (max-width: 900px) {
  .oc-home-live__intro { grid-template-columns: 1fr; gap: 15px; }
  .oc-home-live__tiles { grid-template-columns: 1fr; }
  .oc-home-live__tiles a { min-height: 176px; }
  .oc-home-plan-journey { grid-template-columns: 1fr; }
  .oc-home-plan-journey::before { top: 9%; right: auto; bottom: 9%; left: 48px; width: 1px; height: auto; }
  .oc-home-plan-journey a:nth-child(2), .oc-home-plan-journey a:nth-child(2):hover { transform: none; }
  .oc-home-octo-map { min-height: 350px; }
  .oc-home-trust__flow { grid-template-columns: 1fr 1fr; row-gap: 22px; }
  .oc-home-trust__flow::before { display: none; }
}
@media (max-width: 620px) {
  .oc-core-home .oc-home-live, .oc-core-home .oc-home-trust { padding: 58px 0; }
  .oc-home-live__tiles a { min-height: 162px; padding: 20px; border-radius: 20px; }
  .oc-home-plan-journey a { min-height: 0; padding: 20px; border-radius: 20px; }
  .oc-home-trust__flow { grid-template-columns: 1fr; }
  .oc-home-trust__flow article { min-height: 0; padding: 0 0 10px; }
  .oc-home-trust__flow article > span { margin-bottom: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .oc-home-live__tiles a, .oc-home-plan-journey a { transition: none; transform: none !important; }
}
/* HOMEPAGE EDITORIAL EYEBROWS AND HONEST MAP TREATMENT */
.oc-core-home .oc-home-live__intro > .oc-core-kicker,
.oc-core-home .oc-home-platform__head .oc-core-kicker,
.oc-core-home .oc-home-personal__head .oc-core-kicker,
.oc-core-home .oc-home-octo__head .oc-core-kicker,
.oc-core-home .oc-home-trust__intro .oc-core-kicker,
.oc-core-home .oc-home-business .oc-core-kicker,
.oc-core-home .oc-home-postcard__copy .oc-core-kicker {
  display: inline-block;
  color: var(--oc-aqua);
  font-family: Caveat, "Segoe Print", "Bradley Hand", cursive !important;
  font-size: clamp(1.28rem, 2.1vw, 1.72rem);
  font-style: italic;
  font-weight: 700;
  letter-spacing: .01em !important;
  line-height: .95;
  text-transform: none;
}
.oc-core-home .oc-home-platform__head .oc-core-kicker,
.oc-core-home .oc-home-personal__head .oc-core-kicker,
.oc-core-home .oc-home-trust__intro .oc-core-kicker { color: #087387; }
.oc-core-home .oc-home-business .oc-core-kicker { color: var(--oc-aqua); }
.oc-home-octo .oc-home-result-card dd { font-size: .905rem; line-height: 1.45; }
.oc-home-octo-map__shell iframe { filter: grayscale(1) sepia(.12) hue-rotate(140deg) saturate(.72) brightness(.58) contrast(1.25); }
.oc-home-octo-map__shell::after { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(135deg, rgba(0,169,199,.11), rgba(7,27,47,.28)); mix-blend-mode: multiply; }
.oc-home-octo-map__badge { z-index: 2; }
/* HOMEPAGE FINAL EDITORIAL REFINEMENTS */
.oc-core-home .oc-home-live__intro > .oc-core-kicker {
  font-size: clamp(1.48rem, 2.693vw, 1.5925rem);
  margin-bottom: 19px;
  margin-left: 22px;
}
.oc-core-home .oc-home-platform__head .oc-core-kicker,
.oc-core-home .oc-home-personal__head .oc-core-kicker,
.oc-core-home .oc-home-octo__head .oc-core-kicker,
.oc-core-home .oc-home-trust__intro .oc-core-kicker,
.oc-core-home .oc-home-business .oc-core-kicker {
  font-size: clamp(1.5rem, 2.8vw, 1.655rem);
}
.oc-core-home .oc-home-postcard__copy .oc-core-kicker {
  color: #24dbd5;
  font-size: clamp(1.54rem, 2.905vw, 1.7175rem);
}
.oc-core-home .oc-faq .oc-editorial-split .oc-eyebrow,
.oc-core-home .oc-platform-final > .oc-shell > .oc-eyebrow {
  display: inline-block;
  color: var(--oc-aqua);
  font-family: Caveat, "Segoe Print", "Bradley Hand", cursive !important;
  font-size: clamp(1.5rem, 2.7vw, 1.625rem);
  font-style: italic;
  font-weight: 700;
  letter-spacing: .01em !important;
  line-height: .95;
  text-transform: none;
}
.oc-core-home .oc-faq .oc-editorial-split .oc-eyebrow { color: #087387; font-size: 1.625rem; }
.oc-core-home .oc-platform-final > .oc-shell > .oc-eyebrow { font-size: 1.5625rem; }
.oc-core-home .oc-faq .oc-editorial-split .oc-eyebrow::before,
.oc-core-home .oc-platform-final > .oc-shell > .oc-eyebrow::before { display: none; }
.oc-home-business__note { max-width: 760px; margin-top: 18px; padding-top: 0; border-top: 0; color: #fff !important; font-size: clamp(1.05rem,1.55vw,1.25rem); font-weight: 850; line-height: 1.45; }
.oc-home-business__note::before { content: ""; display: inline-block; width: 34px; height: 3px; margin: 0 10px 5px 0; border-radius: 4px; background: var(--oc-aqua); }
.oc-home-postcard__sample { isolation: isolate; padding: 16px; border: 1px solid rgba(143,231,228,.38); border-radius: 24px; background: #061a30; box-shadow: 0 28px 60px rgba(4,19,35,.34); transform: none; }
.oc-home-postcard__sample::before { inset: 18px -14px -16px 18px; z-index: -1; border: 1px solid rgba(143,231,228,.2); border-radius: 24px; background: #0a2a42; transform: none; }
.oc-home-postcard__sample img { border-radius: 14px; box-shadow: 0 10px 24px rgba(0,0,0,.28); }
.oc-home-postcard__sample figcaption { padding: 17px 7px 4px; }
.oc-home-postcard__sample figcaption span { color: var(--oc-aqua); }
.oc-home-postcard__sample figcaption strong { color: #fff; }
.oc-home-postcard__sample figcaption small { color: #bed6dc; }
.oc-home-octo-map__shell { border-color: rgba(143,231,228,.25); border-radius: 16px; background: #0b1119; box-shadow: 0 16px 34px rgba(0,0,0,.28); }
.oc-home-octo-map__shell iframe { position: relative; z-index: 0; filter: invert(.82) hue-rotate(132deg) saturate(.66) brightness(.72) contrast(1.28); }
.oc-home-octo-map__shell::after { background: linear-gradient(135deg, rgba(2,14,25,.42), rgba(0,185,212,.1)); mix-blend-mode: normal; }
.oc-home-octo-map__label { position: absolute; z-index: 3; top: 13px; left: 14px; color: var(--oc-aqua); font-size: .66rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.oc-home-octo-map__open { position: absolute; z-index: 3; top: 36px; left: 14px; display: inline-flex; align-items: center; gap: 7px; min-height: 34px; padding: 0 10px; border: 1px solid rgba(143,231,228,.32); border-radius: 7px; background: rgba(4,17,31,.9); color: #59c6f0; font-size: .76rem; font-weight: 850; text-decoration: none; box-shadow: 0 7px 16px rgba(0,0,0,.22); }
.oc-home-octo-map__open:hover, .oc-home-octo-map__open:focus-visible { border-color: var(--oc-aqua); color: #fff; }
@media (max-width: 620px) {
  .oc-core-home .oc-home-live__intro > .oc-core-kicker { margin-left: 0; font-size: 1.5rem; }
  .oc-core-home .oc-home-platform__head .oc-core-kicker,
  .oc-core-home .oc-home-personal__head .oc-core-kicker,
  .oc-core-home .oc-home-octo__head .oc-core-kicker,
  .oc-core-home .oc-home-trust__intro .oc-core-kicker,
  .oc-core-home .oc-home-business .oc-core-kicker,
  .oc-core-home .oc-home-postcard__copy .oc-core-kicker,
  .oc-core-home .oc-faq .oc-editorial-split .oc-eyebrow,
  .oc-core-home .oc-platform-final > .oc-shell > .oc-eyebrow { font-size: 1.5rem; }
}
/* HOMEPAGE FINAL SPACING AND POSTCARD POLISH */
.oc-home-postcard__sample::before { display: none; }
.oc-home-postcard__sample { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.oc-home-postcard__sample:hover,
.oc-home-postcard__sample:focus-within { transform: translateY(-5px); border-color: rgba(36,219,213,.85); box-shadow: 0 28px 60px rgba(4,19,35,.34), 0 0 42px rgba(36,219,213,.38); }
.oc-core-home .oc-home-platform__head .oc-core-kicker { font-size: 1.8425rem; margin-top: -15px; margin-bottom: 25px; padding-bottom: 25px; }
.oc-home-platform__head > p { padding-bottom: 111px; }
.oc-core-home .oc-home-personal__head .oc-core-kicker { font-size: 2.0625rem; }
.oc-core-home .oc-home-live__intro > .oc-core-kicker { font-size: 2.0625rem; }
.oc-core-home .oc-home-octo__head .oc-core-kicker { font-size: 2.0625rem; padding-bottom: 44px; }
.oc-home-octo__head > p { padding-bottom: 44px; }
.oc-home-octo .oc-home-result-card > strong { font-size: 1.1875rem; line-height: 1.3; }
@media (max-width: 760px) {
  .oc-core-home .oc-home-platform__head .oc-core-kicker { font-size: 1.62rem; margin-top: 0; margin-bottom: 18px; padding-bottom: 0; }
  .oc-home-platform__head > p { padding-bottom: 44px; }
  .oc-core-home .oc-home-personal__head .oc-core-kicker,
  .oc-core-home .oc-home-live__intro > .oc-core-kicker,
  .oc-core-home .oc-home-octo__head .oc-core-kicker { font-size: 1.72rem; }
  .oc-core-home .oc-home-octo__head .oc-core-kicker,
  .oc-home-octo__head > p { padding-bottom: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .oc-home-postcard__sample { transition: none; transform: none !important; }
}

/* OC Today: event-first resident experience */
.oc-today-events { background: #edf8f7; color: #071b36; }
.oc-today-events .oc-shell { max-width: 1240px; }
.oc-today-events__intro { color: #f7fbff; background: radial-gradient(circle at 84% 16%, rgba(27, 187, 214, .28), transparent 31%), linear-gradient(120deg, #031226 0%, #072743 52%, #084d66 100%); overflow: hidden; }
.oc-today-events__intro .oc-shell { padding-top: clamp(28px, 5vw, 68px); padding-bottom: clamp(40px, 6vw, 80px); }
.oc-today-events__date { display: flex; align-items: center; gap: 12px; font-family: var(--oc-font-sans, sans-serif); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: #85f5ef; }
.oc-today-events__date strong { color: #fff; font-size: .86rem; letter-spacing: .02em; }
.oc-today-events__date i { font-style: normal; color: #b8cdd8; }
.oc-today-events__hero { display: grid; grid-template-columns: minmax(0, 1.07fr) minmax(340px, .93fr); align-items: end; gap: clamp(32px, 7vw, 105px); margin-top: clamp(30px, 5vw, 65px); }
.oc-today-events .oc-core-kicker { color: #55e6e2; }
.oc-today-events__hero h1, .oc-today-feature h2, .oc-today-live h2, .oc-today-radar h2, .oc-today-drops h2, .oc-today-plan h2 { font-family: var(--oc-font-display, Georgia, serif); font-weight: 800; letter-spacing: -.045em; line-height: .96; }
.oc-today-events__hero h1 { max-width: 760px; margin: 14px 0 18px; font-size: clamp(3.15rem, 6vw, 6.45rem); }
.oc-today-events__hero p { max-width: 650px; margin: 0; color: #d5e9f1; font-size: clamp(1.06rem, 1.5vw, 1.28rem); line-height: 1.58; }
.oc-today-events__ask { padding: 26px; border: 1px solid rgba(112, 246, 237, .42); border-radius: 24px; background: rgba(2, 20, 42, .68); box-shadow: 0 20px 55px rgba(0, 0, 0, .22); backdrop-filter: blur(13px); }
.oc-today-events__ask label { display: block; margin-bottom: 13px; color: #6cebe8; font-weight: 800; }
.oc-today-events__ask div { display: flex; overflow: hidden; border-radius: 15px; background: #f8fcff; }
.oc-today-events__ask input { min-width: 0; flex: 1; min-height: 58px; padding: 0 17px; border: 0; background: transparent; color: #0b1b33; font: inherit; }
.oc-today-events__ask button { border: 0; padding: 0 19px; background: #17bdd8; color: #06182f; font: inherit; font-weight: 900; cursor: pointer; }
.oc-today-events__ask small { display: block; margin-top: 12px; color: #b7ccd8; line-height: 1.4; }
.oc-today-events__intent { position: sticky; top: 0; z-index: 8; border-bottom: 1px solid #c4dadd; background: rgba(250, 253, 252, .96); backdrop-filter: blur(12px); }
.oc-today-events__intent .oc-shell { display: flex; gap: 8px; overflow-x: auto; padding-top: 12px; padding-bottom: 12px; }
.oc-today-events__intent a { flex: 0 0 auto; padding: 10px 13px; border-radius: 999px; color: #08203b; font-size: .88rem; font-weight: 800; text-decoration: none; }
.oc-today-events__intent a:hover, .oc-today-events__intent a:focus-visible { background: #d7f8f5; color: #006e81; }
.oc-today-feature { padding: clamp(54px, 8vw, 105px) 0 clamp(45px, 6vw, 78px); background: #f7f1e8; }
.oc-today-feature .oc-shell { display: grid; grid-template-columns: minmax(0, .84fr) minmax(350px, 1.16fr); align-items: center; gap: clamp(28px, 7vw, 90px); }
.oc-today-feature h2 { margin: 13px 0 17px; font-size: clamp(2.5rem, 4.5vw, 5rem); }
.oc-today-feature p { max-width: 440px; color: #566b83; font-size: 1.08rem; line-height: 1.62; }
.oc-today-feature__event .oc-today-event-card { min-height: 295px; }
.oc-today-live { padding: clamp(58px, 8vw, 110px) 0; background: linear-gradient(122deg, #d7f4f1, #eef9f8 58%, #dff2f5); }
.oc-today-section-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .68fr); gap: 35px; align-items: end; margin-bottom: 32px; }
.oc-today-section-head h2 { margin: 13px 0 0; font-size: clamp(2.45rem, 4.65vw, 5.15rem); }
.oc-today-section-head p { max-width: 480px; margin: 0 0 5px; color: #4f6a84; font-size: 1.07rem; line-height: 1.58; }
.oc-today-event-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.oc-today-event-card { display: flex; min-width: 0; flex-direction: column; min-height: 244px; padding: 23px; border: 1px solid rgba(8, 66, 98, .2); border-radius: 22px; background: #fff; box-shadow: 0 10px 28px rgba(11, 65, 88, .09); transition: transform .22s ease, box-shadow .22s ease; }
.oc-today-event-card:hover { transform: translateY(-5px); box-shadow: 0 21px 44px rgba(4, 91, 112, .18); }
.oc-today-event-card__meta { display: flex; flex-wrap: wrap; gap: 8px; color: #087c91; font-size: .73rem; font-weight: 900; letter-spacing: .055em; text-transform: uppercase; }
.oc-today-event-card__meta span + span::before { content: '•'; margin-right: 8px; }
.oc-today-event-card__place { margin-top: 20px; color: #58728b; font-size: .92rem; }
.oc-today-event-card h3 { margin: 8px 0 auto; font-family: var(--oc-font-display, Georgia, serif); font-size: clamp(1.55rem, 2.1vw, 2.25rem); line-height: 1.02; letter-spacing: -.03em; }
.oc-today-event-card h3 a { color: #091f3c; text-decoration: none; }
.oc-today-event-card__actions { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; margin-top: 26px; }
.oc-today-event-card__actions a, .oc-today-event-card__actions button { padding: 8px 10px; border: 1px solid #a8c9cf; border-radius: 9px; background: transparent; color: #0b6078; font: inherit; font-size: .81rem; font-weight: 800; text-decoration: none; cursor: pointer; }
.oc-today-event-card__actions button { margin-left: auto; border-color: #12b7c8; background: #dcfbf7; color: #004e68; }
.oc-today-event-card--feature { color: #f6fbff; border-color: #207c96; background: radial-gradient(circle at 88% 15%, rgba(54, 222, 213, .18), transparent 34%), linear-gradient(135deg, #062948, #071a37); box-shadow: 0 18px 45px rgba(3, 35, 64, .24); }
.oc-today-event-card--feature h3 a, .oc-today-event-card--feature .oc-today-event-card__meta { color: #81f5ed; }
.oc-today-event-card--feature .oc-today-event-card__place { color: #d3e4e8; }
.oc-today-event-card--feature .oc-today-event-card__actions a { border-color: rgba(126, 242, 235, .55); color: #ddffff; }
.oc-today-event-card--feature .oc-today-event-card__actions button { background: #37d7dc; color: #052038; }
.oc-today-radar { padding: clamp(58px, 8vw, 110px) 0; color: #f5fbff; background: radial-gradient(circle at 5% 2%, #126784, transparent 32%), #061831; overflow: hidden; }
.oc-today-radar .oc-today-section-head p { color: #c6dbe5; }
.oc-today-radar__track { display: flex; gap: 17px; overflow-x: auto; padding: 3px 1px 18px; scroll-snap-type: x proximity; }
.oc-today-radar__track .oc-today-event-card { flex: 0 0 min(355px, 84vw); min-height: 270px; scroll-snap-align: start; border-color: rgba(123, 229, 231, .33); background: rgba(8, 38, 66, .86); box-shadow: none; }
.oc-today-radar__track .oc-today-event-card h3 a { color: #fff; }
.oc-today-radar__track .oc-today-event-card__place { color: #c8dce7; }
.oc-today-radar__track .oc-today-event-card__meta { color: #71f2eb; }
.oc-today-radar__track .oc-today-event-card__actions a { border-color: #427d91; color: #b9eaf0; }
.oc-today-radar__footer { display: flex; justify-content: space-between; gap: 25px; align-items: center; margin-top: 18px; color: #c9e1e9; }
.oc-today-radar__footer a { color: #69f2e7; font-weight: 900; }
.oc-today-drops { padding: clamp(55px, 7vw, 95px) 0; background: #ffe9c6; }
.oc-today-drops__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .82fr); gap: clamp(30px, 9vw, 140px); align-items: center; }
.oc-today-drops h2 { margin: 14px 0 0; font-size: clamp(2.35rem, 4.3vw, 4.7rem); }
.oc-today-drops p { color: #536d7b; font-size: 1.08rem; line-height: 1.62; }
.oc-today-drops .oc-core-actions, .oc-today-plan .oc-core-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.oc-today-plan { padding: clamp(60px, 8vw, 110px) 0; color: #f6fbff; text-align: center; background: linear-gradient(140deg, #062748, #057484); }
.oc-today-plan .oc-shell { max-width: 780px; }
.oc-today-plan h2 { margin: 13px 0; font-size: clamp(2.8rem, 5vw, 5.7rem); }
.oc-today-plan p { max-width: 600px; margin: 0 auto; color: #d5e9ed; font-size: 1.1rem; line-height: 1.58; }
.oc-today-plan .oc-core-actions { justify-content: center; }
.oc-today-events__empty { padding: 28px; border: 1px dashed #83aab1; border-radius: 20px; background: rgba(255,255,255,.5); color: #36546b; }
.oc-today-events__empty strong { display: block; color: #08203b; font-size: 1.18rem; }
.oc-today-events__empty a { color: #006c83; font-weight: 800; }
.oc-today-events__source-note { padding: 18px 0; color: #5f7687; background: #e5f0ef; font-size: .85rem; }
.oc-today-events__source-note p { max-width: 840px; margin: 0; line-height: 1.45; }
@media (max-width: 780px) {
  .oc-today-events__hero, .oc-today-feature .oc-shell, .oc-today-section-head, .oc-today-drops__grid { grid-template-columns: 1fr; }
  .oc-today-events__hero { gap: 30px; }
  .oc-today-events__hero h1 { font-size: clamp(3.1rem, 14vw, 5rem); }
  .oc-today-section-head { gap: 15px; }
  .oc-today-event-grid { grid-template-columns: 1fr; }
  .oc-today-feature h2, .oc-today-section-head h2 { font-size: clamp(2.65rem, 12vw, 4.2rem); }
  .oc-today-radar__footer { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 480px) {
  .oc-today-events__ask { padding: 18px; border-radius: 19px; }
  .oc-today-events__ask div { display: block; overflow: visible; background: transparent; }
  .oc-today-events__ask input { width: 100%; border-radius: 12px 12px 0 0; background: #fff; }
  .oc-today-events__ask button { width: 100%; min-height: 52px; border-radius: 0 0 12px 12px; }
  .oc-today-event-card { padding: 20px; }
}

/* TODAY DAILY DASHBOARD */
.oc-today-daily .oc-resident-feed > .oc-discovery-rail,
.oc-today-daily .oc-resident-feed > section { padding: 30px 0 12px; border-top: 1px solid #b9d5d5; }
.oc-today-daily .oc-resident-feed > .oc-discovery-rail:nth-of-type(even),
.oc-today-daily .oc-today-daily__module--personal { background: #f7f1e7; }
.oc-today-daily__events { margin: 8px -20px 8px; padding: 34px 20px 24px !important; background: #d8efec; }
.oc-today-daily__events .oc-core-heading,
.oc-today-daily__module > .oc-core-heading { margin-bottom: 20px; }
.oc-today-daily__events .oc-core-heading a,
.oc-today-daily__module > .oc-core-heading > a { color: #08677a; font-weight: 850; white-space: nowrap; }
.oc-today-daily-event-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.oc-today-daily-event { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 11px 14px; min-height: 132px; padding: 17px; border: 1px solid #b7d5d4; background: rgba(255,255,255,.85); box-shadow: 0 8px 20px rgba(7,27,47,.06); }
.oc-today-daily-event time { color: #087387; font-size: .74rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
.oc-today-daily-event span { color: #526a72; font-size: .8rem; }
.oc-today-daily-event h3 { margin: 5px 0 0; color: var(--oc-ink); font-size: 1.05rem; line-height: 1.2; }
.oc-today-daily-event h3 a { color: inherit; text-decoration: none; }
.oc-today-daily-event .oc-result-actions { grid-column: 1 / -1; display: flex; gap: 12px; align-items: center; margin-top: auto; }
.oc-today-daily-event .oc-result-actions a,
.oc-today-daily-event .oc-result-actions button { padding: 0; border: 0; background: transparent; color: #08677a; font: inherit; font-size: .78rem; font-weight: 850; cursor: pointer; text-decoration: none; }
.oc-today-daily__empty { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 17px 19px; border-left: 4px solid var(--oc-cyan); background: rgba(255,255,255,.72); color: #415f68; }
.oc-today-daily__empty strong { color: var(--oc-ink); }
.oc-today-daily__empty a { color: #08677a; font-weight: 850; white-space: nowrap; }
.oc-today-daily__module { margin: 8px -20px; padding: 36px 20px 16px !important; }
.oc-today-daily__module .oc-discovery-rail { margin-bottom: 16px; }
.oc-today-daily__services { margin: 8px -20px 0; padding: 40px 20px 16px; background: rgba(255,255,255,.45); }
.oc-today-daily__services > .oc-core-kicker { display: block; margin-bottom: 17px; color: #087387; }
.oc-today-daily__services .oc-discovery-rail { padding-top: 22px; }
@media (max-width: 780px) {
  .oc-today-daily-event-list { grid-template-columns: 1fr; }
  .oc-today-daily__empty { align-items: flex-start; flex-direction: column; }
  .oc-today-daily__events .oc-core-heading a,
  .oc-today-daily__module > .oc-core-heading > a { white-space: normal; }
}

/* TODAY VISUAL REBUILD V2 */
.oc-today-visual-v2 {
  --today-paper: #f7f1e6;
  --today-cream: #fffaf1;
  --today-ink: #071b2f;
  --today-cyan: #14b9cf;
  --today-aqua: #8fe7e4;
  --today-orange: #f28a4b;
  --today-line: #bdd6d4;
}
.oc-today-visual-v2 .oc-resident-feed { gap: 0; padding-top: 0; background: var(--today-cream); }
.oc-today-visual-v2 .oc-resident-feed > section,
.oc-today-visual-v2 .oc-resident-feed > div { border-top: 0; }
.oc-today-section-title { display: grid; grid-template-columns: minmax(0,1fr) minmax(240px,.56fr); gap: 28px; align-items: end; margin-bottom: 24px; }
.oc-today-section-title h2 { margin: 7px 0 0; color: var(--today-ink); font-size: clamp(2rem,3.1vw,3.1rem); line-height: 1.02; letter-spacing: -.045em; }
.oc-today-section-title > p { margin: 0; color: #526a72; line-height: 1.6; }
.oc-today-section-title > a { justify-self: end; align-self: center; padding: 10px 14px; border: 1px solid #91babc; color: #075f73; font-size: .82rem; font-weight: 900; text-decoration: none; }

/* Daily Brief: deliberate 12-column bento */
.oc-today-visual-v2 .oc-today-brief { margin: 0 -20px; padding: 34px 20px 42px; background: var(--today-paper); }
.oc-today-visual-v2 .oc-today-brief__heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.oc-today-visual-v2 .oc-today-brief h2 { margin: 5px 0 0; font-size: clamp(1.85rem,3vw,2.65rem); line-height: 1.04; letter-spacing: -.04em; }
.oc-today-visual-v2 .oc-today-brief__heading time { padding: 7px 10px; border: 1px solid #9fc1bf; color: #36565e; font-size: .7rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.oc-today-visual-v2 .oc-today-brief__grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); grid-template-rows: repeat(3,86px); gap: 10px; }
.oc-today-visual-v2 .oc-today-brief__grid a { position: relative; display: flex; min-width: 0; min-height: 0; flex-direction: column; justify-content: flex-end; overflow: hidden; padding: 14px; border: 0; background: #fff; color: var(--today-ink); text-decoration: none; box-shadow: 0 8px 22px rgba(6,31,48,.07); transition: transform .2s ease, box-shadow .2s ease; }
.oc-today-visual-v2 .oc-today-brief__grid a:hover,
.oc-today-visual-v2 .oc-today-brief__grid a:focus-visible { transform: translateY(-3px); box-shadow: 0 15px 30px rgba(6,31,48,.15); }
.oc-today-visual-v2 .oc-today-brief__grid i { position: absolute; top: 11px; right: 13px; color: rgba(7,27,47,.38); font-family: var(--oc-font-display,Georgia,serif); font-size: 1.2rem; font-style: normal; font-weight: 900; }
.oc-today-visual-v2 .oc-today-brief__grid span { color: #087387; font-size: .62rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.oc-today-visual-v2 .oc-today-brief__grid strong { margin-top: 5px; font-size: .91rem; line-height: 1.14; }
.oc-today-visual-v2 .oc-today-brief__grid small { margin-top: 6px; color: #b9d8da; line-height: 1.35; }
.oc-today-visual-v2 .oc-today-brief__lead { grid-column: 1 / 6; grid-row: 1 / 3; padding: 20px !important; color: #fff !important; background: radial-gradient(circle at 88% 5%,rgba(31,207,213,.28),transparent 32%),linear-gradient(145deg,#06182f,#084b63) !important; }
.oc-today-visual-v2 .oc-today-brief__lead i { top: 13px; right: 18px; color: rgba(143,231,228,.9); font-size: 3.45rem; line-height: 1; }
.oc-today-visual-v2 .oc-today-brief__lead span { color: var(--today-aqua); }
.oc-today-visual-v2 .oc-today-brief__lead strong { max-width: 260px; font-size: clamp(1.45rem,2.5vw,2.15rem); }
.oc-today-visual-v2 .is-night { grid-column: 6 / 9; grid-row: 1; color: #fff !important; background: #17233d !important; }
.oc-today-visual-v2 .is-night span { color: #8fe7e4; }
.oc-today-visual-v2 .is-night i { color: #d7fff9; }
.oc-today-visual-v2 .is-weekend { grid-column: 9 / 13; grid-row: 1; background: #ffd9b7 !important; }
.oc-today-visual-v2 .is-food { grid-column: 6 / 10; grid-row: 2; background: #d7f2ed !important; }
.oc-today-visual-v2 .is-things { grid-column: 10 / 13; grid-row: 2; background: #fff !important; }
.oc-today-visual-v2 .oc-today-brief__grid .is-family { grid-column: 1 / 4; grid-row: 3; background: #e8dff1 !important; }
.oc-today-visual-v2 .oc-today-brief__grid .is-free { grid-column: 4 / 7; grid-row: 3; background: #dcead6 !important; }
.oc-today-visual-v2 .oc-today-brief__grid .is-date { grid-column: 7 / 13; grid-row: 3; color: #fff !important; background: linear-gradient(115deg,#a9464f,#e77f66) !important; }
.oc-today-visual-v2 .oc-today-brief__grid .is-date span,
.oc-today-visual-v2 .oc-today-brief__grid .is-date i { color: #fff1df; }

/* Around OC: editorial centerpiece */
.oc-today-visual-v2 .oc-today-around { margin: 0 -20px; padding: 48px 20px 34px; color: #fff; background: #071b2f; }
.oc-today-visual-v2 .oc-today-around .oc-today-section-title h2 { color: #fff; }
.oc-today-visual-v2 .oc-today-around .oc-core-kicker { color: var(--today-aqua); }
.oc-today-visual-v2 .oc-today-around .oc-today-section-title > p { color: #b9ced4; }
.oc-today-visual-v2 .oc-today-around__grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(260px,.75fr); grid-template-rows: repeat(2,170px); gap: 12px; }
.oc-today-visual-v2 .oc-today-around__story { position: relative; display: flex; min-width: 0; overflow: hidden; align-items: flex-end; padding: 20px; color: #fff; text-decoration: none; isolation: isolate; }
.oc-today-visual-v2 .oc-today-around__story img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.oc-today-visual-v2 .oc-today-around__story:hover img,
.oc-today-visual-v2 .oc-today-around__story:focus-visible img { transform: scale(1.025); }
.oc-today-visual-v2 .oc-today-around__shade { position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg,rgba(3,18,31,.08) 10%,rgba(3,18,31,.94) 100%); }
.oc-today-visual-v2 .oc-today-around__story.is-lead { grid-row: 1 / 3; padding: 28px; }
.oc-today-visual-v2 .oc-today-around__story em { display: block; margin-bottom: 7px; color: var(--today-aqua); font-size: .66rem; font-style: normal; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.oc-today-visual-v2 .oc-today-around__story strong { display: block; max-width: 600px; font-family: var(--oc-font-display,Georgia,serif); font-size: 1.25rem; line-height: 1.05; letter-spacing: -.025em; }
.oc-today-visual-v2 .oc-today-around__story.is-lead strong { font-size: clamp(2rem,3.4vw,3.35rem); }
.oc-today-visual-v2 .oc-today-around__story small { display: block; margin-top: 8px; color: #deebed; font-size: .78rem; line-height: 1.35; }
.oc-today-visual-v2 .oc-today-around__graphic { position: absolute; z-index: -2; inset: 0; background: radial-gradient(circle at 78% 22%,rgba(242,138,75,.72) 0 9%,transparent 10%),linear-gradient(145deg,#116a7c,#0b304b 60%,#071b2f); }
.oc-today-visual-v2 .oc-today-around__quiet { padding: 26px; border: 1px solid rgba(143,231,228,.3); background: rgba(255,255,255,.06); }
.oc-today-visual-v2 .oc-today-around__quiet span { color: var(--today-aqua); font-size: .68rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.oc-today-visual-v2 .oc-today-around__quiet strong { display: block; margin-top: 8px; font-size: 1.45rem; }
.oc-today-visual-v2 .oc-today-around__quiet p { color: #c5d9dd; }
.oc-today-visual-v2 .oc-today-around__quiet a { color: var(--today-aqua); font-weight: 900; }
.oc-today-visual-v2 .oc-today-around__strip { display: flex; flex-wrap: wrap; gap: 8px 20px; align-items: center; margin-top: 16px; padding: 13px 15px; border: 1px solid rgba(143,231,228,.24); background: rgba(255,255,255,.05); }
.oc-today-visual-v2 .oc-today-around__strip strong { color: var(--today-orange); font-size: .67rem; letter-spacing: .09em; text-transform: uppercase; }
.oc-today-visual-v2 .oc-today-around__strip a { color: #e4f4f4; font-size: .78rem; font-weight: 800; text-decoration: none; }

/* Happening Today: compact real event cards */
.oc-today-visual-v2 .oc-today-daily__events { margin: 0 -20px; padding: 44px 20px 46px !important; background: #dcefeb; }
.oc-today-visual-v2 .oc-today-daily-event-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.oc-today-visual-v2 .oc-today-daily-event { display: flex; min-width: 0; min-height: 305px; flex-direction: column; overflow: hidden; padding: 0; border: 1px solid #a9ccca; background: #fff; box-shadow: 0 10px 25px rgba(7,35,48,.08); }
.oc-today-visual-v2 .oc-today-daily-event__visual { position: relative; height: 112px; flex: 0 0 112px; overflow: hidden; background: #0a5069; }
.oc-today-visual-v2 .oc-today-daily-event__visual.is-graphic { background: radial-gradient(circle at 80% 28%,rgba(143,231,228,.65) 0 10%,transparent 11%),linear-gradient(145deg,#0a6f7b,#08213b); }
.oc-today-visual-v2 .oc-today-daily-event__visual.is-graphic::after { content: ""; position: absolute; right: 18px; bottom: -38px; width: 92px; height: 92px; border: 14px solid rgba(255,255,255,.12); border-radius: 50%; }
.oc-today-visual-v2 .oc-today-daily-event__visual img { width: 100%; height: 100%; object-fit: cover; }
.oc-today-visual-v2 .oc-today-daily-event__visual time { position: absolute; left: 12px; bottom: 12px; display: grid; min-width: 53px; place-items: center; padding: 7px 9px; background: #fffaf1; color: var(--today-ink); box-shadow: 0 5px 14px rgba(0,0,0,.18); text-transform: uppercase; }
.oc-today-visual-v2 .oc-today-daily-event__visual time span { color: #087387; font-size: .58rem; font-weight: 900; letter-spacing: .1em; }
.oc-today-visual-v2 .oc-today-daily-event__visual time strong { font-size: 1.25rem; line-height: 1; }
.oc-today-visual-v2 .oc-today-daily-event__body { display: flex; flex: 1; flex-direction: column; padding: 16px; }
.oc-today-visual-v2 .oc-today-daily-event__meta { display: flex; flex-wrap: wrap; gap: 5px 12px; color: #087387; font-size: .64rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.oc-today-visual-v2 .oc-today-daily-event h3 { margin: 8px 0 5px; font-family: var(--oc-font-display,Georgia,serif); font-size: 1.25rem; line-height: 1.08; letter-spacing: -.025em; }
.oc-today-visual-v2 .oc-today-daily-event h3 a { color: var(--today-ink); text-decoration: none; }
.oc-today-visual-v2 .oc-today-daily-event__body > p { margin: 0; color: #4d646c; font-size: .8rem; line-height: 1.35; }
.oc-today-visual-v2 .oc-today-daily-event__body > small { margin-top: 6px; color: #6b7c81; font-size: .68rem; }
.oc-today-visual-v2 .oc-today-daily-event .oc-result-actions { display: flex; gap: 8px; margin-top: auto; padding-top: 14px; }
.oc-today-visual-v2 .oc-today-daily-event .oc-result-actions a,
.oc-today-visual-v2 .oc-today-daily-event .oc-result-actions button { min-height: 35px; display: inline-flex; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid #8db9bb; background: transparent; color: #075f73; font: inherit; font-size: .72rem; font-weight: 900; text-decoration: none; cursor: pointer; }
.oc-today-visual-v2 .oc-today-daily-event .oc-result-actions button { margin-left: auto; border-color: #0a8795; background: #d9f5f1; }
.oc-today-visual-v2 .oc-today-daily__empty { padding: 13px 15px; }

/* Food stays a rail, with a distinct editorial divider */
.oc-today-visual-v2 .oc-today-bento-rail { margin: 0 -20px; padding: 42px 20px 28px; }
.oc-today-visual-v2 .oc-today-bento-rail--food { background: #fffaf1; border-top: 7px solid var(--today-orange); }
.oc-today-visual-v2 .oc-today-bento-rail--popular { background: var(--today-paper); border-top: 1px solid #c6d8d5; }
.oc-today-visual-v2 .oc-today-bento-rail .oc-discovery-rail { padding: 0; }
.oc-today-visual-v2 .oc-today-bento-rail .oc-discovery-rail__head h2 { font-size: clamp(1.85rem,2.8vw,2.65rem); letter-spacing: -.04em; }

/* Things To Do: varied image-led bento */
.oc-today-visual-v2 .oc-today-things { margin: 0 -20px; padding: 48px 20px; background: #edf7f5; }
.oc-today-visual-v2 .oc-today-things__grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); grid-template-rows: repeat(2,132px); gap: 11px; }
.oc-today-visual-v2 .oc-today-things__grid a { position: relative; display: flex; min-width: 0; min-height: 0; overflow: hidden; flex-direction: column; justify-content: flex-end; padding: 17px; border: 0; color: #fff; text-decoration: none; isolation: isolate; box-shadow: 0 9px 22px rgba(6,31,48,.1); }
.oc-today-visual-v2 .oc-today-things__grid a::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg,rgba(3,20,33,.04),rgba(3,20,33,.84)); }
.oc-today-visual-v2 .oc-today-things__grid img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.oc-today-visual-v2 .oc-today-things__grid a:hover img,
.oc-today-visual-v2 .oc-today-things__grid a:focus-visible img { transform: scale(1.03); }
.oc-today-visual-v2 .oc-today-things__grid span { color: var(--today-aqua); font-size: .63rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.oc-today-visual-v2 .oc-today-things__grid strong { margin-top: 5px; font-family: var(--oc-font-display,Georgia,serif); font-size: 1.18rem; line-height: 1.04; letter-spacing: -.025em; }
.oc-today-visual-v2 .oc-today-things__grid small { margin-top: 6px; color: #e0efef; font-size: .73rem; }
.oc-today-visual-v2 .oc-today-things__grid .is-outdoors { grid-column: 1 / 5; grid-row: 1 / 3; padding: 22px; }
.oc-today-visual-v2 .oc-today-things__grid .is-outdoors strong { font-size: 2rem; }
.oc-today-visual-v2 .oc-today-things__grid .is-family { grid-column: 5 / 9; grid-row: 1; }
.oc-today-visual-v2 .oc-today-things__grid .is-free { grid-column: 9 / 13; grid-row: 1; }
.oc-today-visual-v2 .oc-today-things__grid .is-date { grid-column: 5 / 8; grid-row: 2; background: radial-gradient(circle at 80% 24%,rgba(255,255,255,.22) 0 8%,transparent 9%),linear-gradient(145deg,#a9464f,#e17b69); }
.oc-today-visual-v2 .oc-today-things__grid .is-date::after,
.oc-today-visual-v2 .oc-today-things__grid .is-fun::after { display: none; }
.oc-today-visual-v2 .oc-today-things__grid .is-beach { grid-column: 8 / 11; grid-row: 2; }
.oc-today-visual-v2 .oc-today-things__grid .is-fun { grid-column: 11 / 13; grid-row: 2; background: linear-gradient(145deg,#0d7180,#12b9cf); }

/* Your OC: personal dashboard, not another card grid */
.oc-today-visual-v2 .oc-today-personal { display: grid; grid-template-columns: minmax(240px,.65fr) minmax(0,1.35fr); gap: 34px; margin: 0 -20px; padding: 48px 20px; color: var(--today-ink); background: #f0b777; }
.oc-today-visual-v2 .oc-today-personal header { align-self: center; }
.oc-today-visual-v2 .oc-today-personal .oc-core-kicker { color: #7d361d; }
.oc-today-visual-v2 .oc-today-personal h2 { margin: 7px 0 10px; color: var(--today-ink); font-size: clamp(2.2rem,3.5vw,3.35rem); line-height: .98; letter-spacing: -.05em; }
.oc-today-visual-v2 .oc-today-personal header > p { max-width: 330px; margin: 0; color: #563d32; line-height: 1.55; }
.oc-today-visual-v2 .oc-today-personal__actions { display: grid; grid-template-columns: 1fr; gap: 0; margin: 0; border-top: 1px solid rgba(7,27,47,.35); }
.oc-today-visual-v2 .oc-today-personal__actions a { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 14px; align-items: center; min-height: 84px; padding: 12px 4px; border: 0; border-bottom: 1px solid rgba(7,27,47,.35); background: transparent; color: var(--today-ink); text-decoration: none; transition: padding .2s ease, background .2s ease; }
.oc-today-visual-v2 .oc-today-personal__actions a:hover,
.oc-today-visual-v2 .oc-today-personal__actions a:focus-visible { padding-inline: 12px; background: rgba(255,255,255,.2); }
.oc-today-visual-v2 .oc-today-personal__actions i { color: #7d361d; font-size: .67rem; font-style: normal; font-weight: 900; }
.oc-today-visual-v2 .oc-today-personal__actions span { color: #7d361d; font-size: .62rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.oc-today-visual-v2 .oc-today-personal__actions strong { display: block; margin-top: 3px; font-size: .94rem; line-height: 1.25; }
.oc-today-visual-v2 .oc-today-personal__actions b { font-size: 1.1rem; }

/* Community: image, entry point, and compact utility list */
.oc-today-visual-v2 .oc-today-community { display: grid; grid-template-columns: 180px minmax(210px,.75fr) minmax(280px,1.25fr); gap: 24px; align-items: stretch; margin: 0 -20px; padding: 34px 20px; background: #d8efec; }
.oc-today-visual-v2 .oc-today-community figure { min-height: 190px; margin: 0; overflow: hidden; }
.oc-today-visual-v2 .oc-today-community figure img { width: 100%; height: 100%; object-fit: cover; }
.oc-today-visual-v2 .oc-today-community__intro { align-self: center; }
.oc-today-visual-v2 .oc-today-community h2 { margin: 7px 0 8px; font-size: clamp(1.75rem,2.6vw,2.55rem); line-height: 1; letter-spacing: -.04em; }
.oc-today-visual-v2 .oc-today-community__intro p { margin: 0; color: #4d646c; font-size: .86rem; line-height: 1.5; }
.oc-today-visual-v2 .oc-today-community__primary { display: inline-flex; margin-top: 14px; padding: 9px 12px; background: var(--today-ink); color: #fff; font-size: .75rem; font-weight: 900; text-decoration: none; }
.oc-today-visual-v2 .oc-today-community__links { display: grid; border-top: 1px solid #9fc7c4; }
.oc-today-visual-v2 .oc-today-community__links a { display: grid; align-content: center; padding: 10px 4px; border-bottom: 1px solid #9fc7c4; color: var(--today-ink); text-decoration: none; }
.oc-today-visual-v2 .oc-today-community__links span { color: #087387; font-size: .61rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.oc-today-visual-v2 .oc-today-community__links strong { margin-top: 3px; font-size: .83rem; line-height: 1.25; }

/* Lower discovery: utility, not the identity of Today */
.oc-today-visual-v2 .oc-today-utility { margin: 0 -20px; padding: 40px 20px 18px; background: #fff; }
.oc-today-visual-v2 .oc-today-utility > header { margin-bottom: 6px; padding-bottom: 16px; border-bottom: 3px solid var(--today-ink); }
.oc-today-visual-v2 .oc-today-utility h2 { margin: 5px 0 0; font-size: 1.55rem; letter-spacing: -.03em; }
.oc-today-visual-v2 .oc-today-utility__group { padding: 24px 0 10px; border-bottom: 1px solid var(--today-line); }
.oc-today-visual-v2 .oc-today-utility__group .oc-discovery-rail { padding: 0; }
.oc-today-visual-v2 .oc-resident-map-workspace--neutral .oc-core-map__handoff-body { grid-template-columns: minmax(0,1fr); }

/* Tablet recomposition */
@media (max-width: 900px) {
  .oc-today-visual-v2 .oc-today-brief__grid { grid-template-columns: repeat(6,minmax(0,1fr)); grid-template-rows: repeat(4,84px); }
  .oc-today-visual-v2 .oc-today-brief__lead { grid-column: 1 / 7; grid-row: 1 / 3; }
  .oc-today-visual-v2 .is-night { grid-column: 1 / 4; grid-row: 3; }
  .oc-today-visual-v2 .is-weekend { grid-column: 4 / 7; grid-row: 3; }
  .oc-today-visual-v2 .is-food { grid-column: 1 / 3; grid-row: 4; }
  .oc-today-visual-v2 .is-things { grid-column: 3 / 5; grid-row: 4; }
  .oc-today-visual-v2 .oc-today-brief__grid .is-family { grid-column: 5 / 7; grid-row: 4; }
  .oc-today-visual-v2 .oc-today-brief__grid .is-free,
  .oc-today-visual-v2 .oc-today-brief__grid .is-date { display: none; }
  .oc-today-visual-v2 .oc-today-around__grid { grid-template-columns: 1fr 1fr; grid-template-rows: 250px 150px; }
  .oc-today-visual-v2 .oc-today-around__story.is-lead { grid-column: 1 / 3; grid-row: 1; }
  .oc-today-visual-v2 .oc-today-around__story.is-lead strong { font-size: 2.4rem; }
  .oc-today-visual-v2 .oc-today-daily-event-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .oc-today-visual-v2 .oc-today-things__grid { grid-template-columns: repeat(6,minmax(0,1fr)); grid-template-rows: repeat(3,125px); }
  .oc-today-visual-v2 .oc-today-things__grid .is-outdoors { grid-column: 1 / 4; grid-row: 1 / 3; }
  .oc-today-visual-v2 .oc-today-things__grid .is-family { grid-column: 4 / 7; grid-row: 1; }
  .oc-today-visual-v2 .oc-today-things__grid .is-free { grid-column: 4 / 7; grid-row: 2; }
  .oc-today-visual-v2 .oc-today-things__grid .is-date { grid-column: 1 / 3; grid-row: 3; }
  .oc-today-visual-v2 .oc-today-things__grid .is-beach { grid-column: 3 / 5; grid-row: 3; }
  .oc-today-visual-v2 .oc-today-things__grid .is-fun { grid-column: 5 / 7; grid-row: 3; }
  .oc-today-visual-v2 .oc-today-community { grid-template-columns: 150px minmax(0,1fr); }
  .oc-today-visual-v2 .oc-today-community__links { grid-column: 1 / 3; grid-template-columns: repeat(3,1fr); border-left: 1px solid #9fc7c4; }
  .oc-today-visual-v2 .oc-today-community__links a { padding: 12px; border-right: 1px solid #9fc7c4; }
}

/* 390px is a first-class layout */
@media (max-width: 620px) {
  .oc-today-visual-v2 .oc-resident-feed { padding-inline: 12px !important; }
  .oc-today-visual-v2 .oc-today-brief,
  .oc-today-visual-v2 .oc-today-around,
  .oc-today-visual-v2 .oc-today-daily__events,
  .oc-today-visual-v2 .oc-today-bento-rail,
  .oc-today-visual-v2 .oc-today-things,
  .oc-today-visual-v2 .oc-today-personal,
  .oc-today-visual-v2 .oc-today-community,
  .oc-today-visual-v2 .oc-today-utility { margin-inline: -12px; padding-inline: 12px; }
  .oc-today-section-title { grid-template-columns: 1fr; gap: 10px; margin-bottom: 18px; }
  .oc-today-section-title h2 { font-size: 1.82rem; }
  .oc-today-section-title > p { font-size: .86rem; }
  .oc-today-section-title > a { justify-self: start; }
  .oc-today-visual-v2 .oc-today-brief { padding-top: 26px; padding-bottom: 30px; }
  .oc-today-visual-v2 .oc-today-brief__heading { align-items: flex-start; }
  .oc-today-visual-v2 .oc-today-brief__heading time { margin-top: 2px; font-size: .58rem; }
  .oc-today-visual-v2 .oc-today-brief h2 { font-size: 1.65rem; }
  .oc-today-visual-v2 .oc-today-brief__grid { grid-template-columns: 1fr 1fr; grid-template-rows: 138px repeat(3,92px); gap: 7px; }
  .oc-today-visual-v2 .oc-today-brief__lead { grid-column: 1 / 3; grid-row: 1; padding: 15px !important; }
  .oc-today-visual-v2 .oc-today-brief__lead i { font-size: 2.6rem; }
  .oc-today-visual-v2 .oc-today-brief__lead strong { font-size: 1.38rem; }
  .oc-today-visual-v2 .is-night { grid-column: 1; grid-row: 2; }
  .oc-today-visual-v2 .is-weekend { grid-column: 2; grid-row: 2; }
  .oc-today-visual-v2 .is-food { grid-column: 1; grid-row: 3; }
  .oc-today-visual-v2 .is-things { grid-column: 2; grid-row: 3; }
  .oc-today-visual-v2 .oc-today-brief__grid .is-family { grid-column: 1; grid-row: 4; }
  .oc-today-visual-v2 .oc-today-brief__grid .is-free { display: flex; grid-column: 2; grid-row: 4; }
  .oc-today-visual-v2 .oc-today-brief__grid .is-date { display: none; }
  .oc-today-visual-v2 .oc-today-brief__grid a { padding: 11px; }
  .oc-today-visual-v2 .oc-today-brief__grid strong { font-size: .82rem; }
  .oc-today-visual-v2 .oc-today-around { padding-top: 34px; padding-bottom: 25px; }
  .oc-today-visual-v2 .oc-today-around__grid { grid-template-columns: 1fr; grid-template-rows: 215px repeat(2,142px); gap: 8px; }
  .oc-today-visual-v2 .oc-today-around__story.is-lead { grid-column: 1; grid-row: 1; padding: 18px; }
  .oc-today-visual-v2 .oc-today-around__story.is-lead strong { font-size: 1.8rem; }
  .oc-today-visual-v2 .oc-today-around__story { padding: 14px; }
  .oc-today-visual-v2 .oc-today-around__story strong { font-size: 1.06rem; }
  .oc-today-visual-v2 .oc-today-around__strip { gap: 7px 13px; padding: 11px; }
  .oc-today-visual-v2 .oc-today-around__strip strong { width: 100%; }
  .oc-today-visual-v2 .oc-today-daily__events { padding-top: 34px !important; padding-bottom: 34px !important; }
  .oc-today-visual-v2 .oc-today-daily-event-list { grid-template-columns: 1fr; gap: 9px; }
  .oc-today-visual-v2 .oc-today-daily-event { display: grid; grid-template-columns: 104px minmax(0,1fr); min-height: 194px; }
  .oc-today-visual-v2 .oc-today-daily-event__visual { width: 104px; height: 100%; min-height: 194px; }
  .oc-today-visual-v2 .oc-today-daily-event__body { padding: 13px; }
  .oc-today-visual-v2 .oc-today-daily-event h3 { font-size: 1.08rem; }
  .oc-today-visual-v2 .oc-today-daily-event__meta { display: grid; gap: 2px; }
  .oc-today-visual-v2 .oc-today-daily-event .oc-result-actions { gap: 5px; }
  .oc-today-visual-v2 .oc-today-daily-event .oc-result-actions a,
  .oc-today-visual-v2 .oc-today-daily-event .oc-result-actions button { padding-inline: 9px; }
  .oc-today-visual-v2 .oc-today-bento-rail { padding-top: 32px; padding-bottom: 22px; }
  .oc-today-visual-v2 .oc-today-things { padding-top: 36px; padding-bottom: 36px; }
  .oc-today-visual-v2 .oc-today-things__grid { grid-template-columns: 1fr 1fr; grid-template-rows: 180px repeat(3,112px); gap: 7px; }
  .oc-today-visual-v2 .oc-today-things__grid .is-outdoors { grid-column: 1 / 3; grid-row: 1; padding: 17px; }
  .oc-today-visual-v2 .oc-today-things__grid .is-outdoors strong { font-size: 1.6rem; }
  .oc-today-visual-v2 .oc-today-things__grid .is-family { grid-column: 1; grid-row: 2; }
  .oc-today-visual-v2 .oc-today-things__grid .is-free { grid-column: 2; grid-row: 2; }
  .oc-today-visual-v2 .oc-today-things__grid .is-date { grid-column: 1; grid-row: 3; }
  .oc-today-visual-v2 .oc-today-things__grid .is-beach { grid-column: 2; grid-row: 3; }
  .oc-today-visual-v2 .oc-today-things__grid .is-fun { grid-column: 1 / 3; grid-row: 4; }
  .oc-today-visual-v2 .oc-today-things__grid a { padding: 12px; }
  .oc-today-visual-v2 .oc-today-things__grid strong { font-size: .98rem; }
  .oc-today-visual-v2 .oc-today-personal { grid-template-columns: 1fr; gap: 22px; padding-top: 36px; padding-bottom: 36px; }
  .oc-today-visual-v2 .oc-today-personal h2 { font-size: 2.2rem; }
  .oc-today-visual-v2 .oc-today-personal__actions a { grid-template-columns: 30px minmax(0,1fr) auto; min-height: 72px; }
  .oc-today-visual-v2 .oc-today-community { grid-template-columns: 96px minmax(0,1fr); gap: 16px; padding-top: 26px; padding-bottom: 26px; }
  .oc-today-visual-v2 .oc-today-community figure { min-height: 132px; }
  .oc-today-visual-v2 .oc-today-community h2 { font-size: 1.65rem; }
  .oc-today-visual-v2 .oc-today-community__intro p { font-size: .78rem; }
  .oc-today-visual-v2 .oc-today-community__links { grid-column: 1 / 3; grid-template-columns: 1fr; border-left: 0; }
  .oc-today-visual-v2 .oc-today-community__links a { padding: 10px 3px; border-right: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .oc-today-visual-v2 .oc-today-brief__grid a,
  .oc-today-visual-v2 .oc-today-around__story img,
  .oc-today-visual-v2 .oc-today-things__grid img,
  .oc-today-visual-v2 .oc-today-personal__actions a { transition: none; transform: none !important; }
}

/* TODAY VISUAL REBUILD V2: final mobile density corrections */
.oc-today-visual-v2 .oc-today-daily-event .oc-result-actions button { font-size: 0; }
.oc-today-visual-v2 .oc-today-daily-event .oc-result-actions button::after { content: "+ Plan"; font-size: .72rem; }
.oc-today-visual-v2 .oc-today-daily-event .oc-result-actions button[aria-pressed="true"]::after { content: "Saved"; }
@media (max-width: 900px) {
  .oc-today-visual-v2 .oc-today-brief__grid { grid-template-rows: repeat(5,84px); }
  .oc-today-visual-v2 .oc-today-brief__grid .is-free { display: flex; grid-column: 1 / 3; grid-row: 5; }
  .oc-today-visual-v2 .oc-today-brief__grid .is-date { display: flex; grid-column: 3 / 7; grid-row: 5; }
}
@media (max-width: 620px) {
  .oc-today-visual-v2 .oc-today-brief__grid { grid-template-rows: 138px repeat(4,92px); }
  .oc-today-visual-v2 .oc-today-brief__grid .is-date { display: flex; grid-column: 1 / 3; grid-row: 5; }
  .oc-today-visual-v2 .oc-today-around__grid { grid-template-rows: 230px repeat(2,120px); }
  .oc-today-visual-v2 .oc-today-around__strip { display: grid; grid-template-columns: 1fr 1fr; padding-right: 64px; }
  .oc-today-visual-v2 .oc-today-around__strip strong { grid-column: 1 / 3; }
  .oc-today-visual-v2 .oc-today-around__strip a:last-child { grid-column: 1 / 3; }
  .oc-today-visual-v2 .oc-today-daily-event-list > :nth-child(n+3) { display: none; }
}
