/* Exclusive landing and its category/rubric routes. */
.exclusive-page-label-mobile,.exclusive-page-format-icon .exclusive-page-icon-mobile { display:none; }
/* The same banner extends behind the existing header on Exclusive routes only. */
.site-frame:has(.exclusive-page) { position: relative; --exclusive-header-height: 104px; }
.site-frame:has(.exclusive-page) > .portal-header { position: absolute; inset: 0 0 auto; background: transparent; }
@media(max-width:1100px) and (min-width:761px) { .site-frame:has(.exclusive-page) { --exclusive-header-height: 142px; } }
@media(max-width:760px) { .site-frame:has(.exclusive-page) { --exclusive-header-height: 78px; } }

.portal-main--exclusive { padding: 0; }
.portal-container--exclusive { max-width: none; }
.exclusive-page-controls > .breadcrumbs { margin: 0 0 20px; padding: 0; min-height: 24px; font-size: 12px; background: #fff; color: #537383; }
.exclusive-page-controls > .breadcrumbs a { color: var(--navy); text-decoration: none; }
.exclusive-page-controls > .breadcrumbs a:hover { text-decoration: underline; }
.exclusive-page-archive { max-width: 2080px; margin: 0 auto; padding: 0 clamp(20px,4.15vw,90px) 40px; }
.exclusive-page { background: #fff; color: var(--navy); }
.exclusive-page-hero { position: relative; isolation: isolate; height: 40svh; min-height: 360px; max-height: 600px; overflow: hidden; background: #052636; color: #fff; }
.exclusive-page-image, .exclusive-page-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.exclusive-page-image { object-fit: cover; object-position: 50% 15%; z-index: -2; }
.exclusive-page-shade { z-index: -1; background: linear-gradient(180deg,#001824e6 0%,#001824a6 var(--exclusive-header-height,104px),transparent 65%),linear-gradient(90deg,#001b2b55 0%,#001a2433 45%,transparent 75%); }
.exclusive-page-hero-inner { width: 100%; max-width: 2080px; height: 100%; margin: 0 auto; padding: calc(var(--exclusive-header-height,104px) + 24px) clamp(20px,4.15vw,90px) 24px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 12px; }
.exclusive-page-title { margin: 0; font-family: var(--display); font-weight: 600; font-size: clamp(54px,6.35vw,118px); line-height: .96; letter-spacing: -.035em; color: #f8fcff; background: none; -webkit-text-fill-color: currentColor; white-space: nowrap; animation: none; text-shadow: 0 2px 6px #00192880; }
.exclusive-page-lead { margin: 0; font-family: var(--display); font-weight: 600; font-size: clamp(15px,1.23vw,21px); line-height: 1.45; letter-spacing: -.025em; max-width: 68%; color: #edf6fa; text-shadow: 0 1px 4px #001928b3; }
.exclusive-page-controls { max-width: 2080px; margin: 0 auto; padding: 22px clamp(20px,4.15vw,90px) 40px; }
.exclusive-page-formats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin: 0; }
.exclusive-page-format { display: grid; grid-template-columns: 32px minmax(0,1fr) 36px; align-items: center; gap: 14px; min-width: 0; min-height: 82px; padding: 16px 18px; border: 1px solid transparent; border-radius: 11px; background: #eef5f8; color: var(--navy); text-align: left; transition: background .2s,color .2s,box-shadow .2s,transform .2s; }
.exclusive-page-format-icon, .exclusive-page-format-arrow { display: grid; place-items: center; }
.exclusive-page-format-icon svg { width: 32px; height: 32px; }
.exclusive-page-format-copy { min-width: 0; display: grid; gap: 4px; }
.exclusive-page-format-title { font-family: var(--display); font-weight: 600; font-size: clamp(14px,1.1vw,20px); line-height: 1.25; letter-spacing: -.025em; text-transform: uppercase; }
.exclusive-page-format-description { font-size: clamp(12px,1vw,15px); line-height: 1.4; color: #607f8f; text-wrap: pretty; }
.exclusive-page-format-arrow { width: 36px; height: 36px; border: 1px solid #96b7c6; border-radius: 50%; transition: background .2s,transform .2s; }
.exclusive-page-format-arrow svg { width: 18px; height: 18px; }
.exclusive-page-format[aria-current] { background: #052e40; color: #f1fbff; border-color: #7099ab70; box-shadow: 0 3px 12px #082e401f,inset 0 1px 0 #c9e9f02b; }
.exclusive-page-format[aria-current] .exclusive-page-format-description { color: #b8d6e1; }
.exclusive-page-format[aria-current] .exclusive-page-format-arrow { border-color: #94bdcf; }
.exclusive-page-topics { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 20px; }
.exclusive-page-topic { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px clamp(16px,1.4vw,26px); border: 1px solid transparent; border-radius: 10px; background: #eef5f8; color: #294d5f; font-family: var(--display); font-size: clamp(11px,.9vw,14px); font-weight: 600; line-height: 1.3; white-space: nowrap; transition: background .18s,color .18s,box-shadow .18s; }
.exclusive-page-topic[aria-current] { background: #052e40; color: #f1fbff; box-shadow: 0 2px 8px #082e4026; }
.exclusive-page-format:active { transform: scale(.985); }
.exclusive-page-topic:active { background: #cde4ee; }
@media(hover:hover) {
  .exclusive-page-format:hover { background: #dfeef4; box-shadow: 0 0 20px #70b4cc26; transform: translateY(-2px); }
  .exclusive-page-format[aria-current]:hover { background: #174f66; box-shadow: 0 0 22px #70b4cc40; }
  .exclusive-page-format:hover .exclusive-page-format-arrow { transform: translateX(2px); background: #80b5cb22; }
  .exclusive-page-topic:hover { background: #dcebf2; box-shadow: 0 0 12px #70b4cc20; }
  .exclusive-page-topic[aria-current]:hover { background: #174f66; }
}
@media(max-width:1100px) and (min-width:761px) {
  .exclusive-page-title { font-size: 6.4vw; }
  .exclusive-page-lead { font-size: 14px; max-width: 72%; }
  .exclusive-page-formats { gap: 12px; }
  .exclusive-page-format { grid-template-columns: 26px minmax(0,1fr) 28px; gap: 10px; padding: 14px 12px; }
  .exclusive-page-format-icon svg { width: 26px; height: 26px; }
  .exclusive-page-format-arrow { width: 28px; height: 28px; }
  .exclusive-page-format-title { font-size: 12px; }
}
@media(max-width:760px) {
  .exclusive-page-controls > .breadcrumbs { margin-bottom: 16px; font-size: 11px; gap: 6px; }
  .exclusive-page-hero { height: 430px; min-height: 430px; max-height: none; }
  .exclusive-page-image { object-position: 58% 25%; }
  .exclusive-page-shade { background: linear-gradient(180deg,#001824e6 0%,#00182480 var(--exclusive-header-height,78px),transparent 75%),linear-gradient(90deg,#001b2bc7,#001b2b70 60%,#001b2b14); }
  .exclusive-page-hero-inner { justify-content: center; padding: calc(var(--exclusive-header-height,78px) + 24px) 20px 24px; gap: 14px; }
  .exclusive-page-title { font-size: clamp(28px,8.55vw,55px); letter-spacing: -.04em; }
  .exclusive-page-lead { max-width: 100%; font-size: clamp(12px,3.05vw,15px); line-height: 1.55; text-wrap: pretty; }
  .exclusive-page-lead br { display: none; }
  .exclusive-page-controls { padding: 18px 20px 32px; }
  /* Mobile controls follow the supplied three-tile / compact-chip reference. */
  .exclusive-page-formats { grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-rows: 1fr; gap: 8px; }
  .exclusive-page-format { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:10px; min-height:clamp(92px,24vw,112px); padding:14px 6px; border-radius:12px; text-align:center; text-decoration:none; background:#eef5f8; -webkit-tap-highlight-color:transparent; }
  .exclusive-page-format-icon { flex:0 0 auto; }
  .exclusive-page-format-icon svg { width:32px; height:32px; }
  .exclusive-page-format-icon .exclusive-page-icon-full,.exclusive-page-label-full { display:none; }
  .exclusive-page-format-icon .exclusive-page-icon-mobile,.exclusive-page-label-mobile { display:block; }
  .exclusive-page-format-copy { display:block; max-width:100%; }
  .exclusive-page-format-title { display:block; font-size:clamp(10px,2.7vw,15px); line-height:1.3; letter-spacing:-.035em; text-transform:none; white-space:nowrap; }
  .exclusive-page-format-description,.exclusive-page-format-arrow { display:none; }
  .exclusive-page-format[aria-current] { background:#052e40; color:#f1fbff; border-color:#86adbf55; box-shadow:0 4px 14px #082e401a,inset 0 1px 0 #c9e9f02b; }
  .exclusive-page-topics { flex-wrap:nowrap; overflow-x:auto; gap:8px; padding:4px 2px 8px; margin:16px -2px -8px; scrollbar-width:none; overscroll-behavior-x:contain; scroll-snap-type:x proximity; scroll-padding-inline:2px; -webkit-overflow-scrolling:touch; }
  .exclusive-page-topics::-webkit-scrollbar { display:none; }
  .exclusive-page-topic { flex-shrink:0; padding:10px 14px; font-size:clamp(10px,2.7vw,13px); min-height:44px; border-radius:12px; scroll-snap-align:start; text-decoration:none; -webkit-tap-highlight-color:transparent; }
  .exclusive-page-format:active { transform:scale(.97); box-shadow:0 0 18px #7aa7ba33; }
  .exclusive-page-topic[aria-current]:active { background:#174f66; }

}
@media(prefers-reduced-motion:reduce) {
  .exclusive-page-format, .exclusive-page-format-arrow, .exclusive-page-topic { transition: none; }
  .exclusive-page-format:hover, .exclusive-page-format:active, .exclusive-page-format:hover .exclusive-page-format-arrow { transform: none; }
}

@media(max-width:1100px) and (min-width:761px) { .exclusive-page-hero { min-height:380px; } }

/* Phone-only fixed panel; the existing Menu moves above the bottom navigation. */
.exclusive-format-dock { display:none; }
@media screen and (max-width:760px) {
  .exclusive-page-format-slot { min-width:0; overflow-anchor:none; }
  .exclusive-page-formats { position:relative; isolation:isolate; }
  .exclusive-format-dock { display:block; position:fixed; z-index:40; top:calc(8px + env(safe-area-inset-top,0px)); left:calc(14px + env(safe-area-inset-left,0px)); right:calc(14px + env(safe-area-inset-right,0px)); padding:6px; border-radius:18px; background:#f5fbfff7; box-shadow:0 6px 22px #17435b24,0 0 24px #76bcdf40; }
  .exclusive-format-dock .exclusive-page-formats { opacity:1; transform:none; animation:none; }
  .dialog-open .exclusive-format-dock { visibility:hidden; pointer-events:none; }
}
@keyframes exclusive-format-glow { from { opacity:.6; } to { opacity:.95; } }
@media print { .exclusive-format-dock { display:none!important; } }
/* The same two-row panel lives below the unchanged hero, then pins as one unit. */
.exclusive-page-rubric-bar { display:contents; }
.exclusive-calendar-trigger,.exclusive-date-summary { display:none; }
@media screen and (max-width:760px) {
 .exclusive-page-filter-panel { position:relative; isolation:isolate; border-radius:14px; background:linear-gradient(180deg,#fbfdff,#f2f8fc); }
 .exclusive-page-filter-panel::before { content:''; position:absolute; z-index:-1; inset:-6px; border-radius:18px; pointer-events:none; box-shadow:0 0 18px 5px #71b8d56b,0 0 34px 7px #a3dff240; opacity:.6; animation:exclusive-format-glow 5.2s ease-in-out infinite alternate; }
 .exclusive-page-filter-panel.is-glow-paused::before { animation-play-state:paused; }
 .exclusive-page-filter-panel:focus-within::before { box-shadow:0 0 20px 6px #71b8d580,0 0 34px 7px #a3dff259; }
 .exclusive-page-formats { gap:6px; }
 .exclusive-page-format { min-height:52px; padding:6px 4px; gap:3px; border-radius:11px; }
 .exclusive-page-format-icon svg { width:20px; height:20px; }
 .exclusive-page-format-title { font-size:clamp(9px,2.55vw,11px); }
 .exclusive-page-rubric-bar { display:flex; align-items:center; gap:6px; min-width:0; margin-top:6px; }
 .exclusive-page-topics { position:relative; flex:1; min-width:0; margin:0; padding:2px 0; gap:6px; scroll-padding-left:52px; }
 .exclusive-page-topic { min-height:34px; padding:7px 10px; font-size:clamp(9px,2.55vw,11px); border-radius:10px; }
 .exclusive-page-topic[data-exclusive-topic="all"] { position:sticky; left:0; z-index:2; box-shadow:7px 0 0 #f2f8fc; }
 .exclusive-page-filter-panel.is-calendar-ready .exclusive-calendar-trigger { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; padding:7px; position:relative; border:1px solid #c8dfe966; border-radius:10px; background:#edf7fc; color:var(--navy); box-shadow:0 0 12px #77b9d326; }
 .exclusive-calendar-trigger svg { width:20px; height:20px; }
 .exclusive-calendar-indicator { display:none; position:absolute; top:1px; right:1px; width:7px; height:7px; border-radius:50%; background:#3b9ccc; box-shadow:0 0 0 2px #fff; }
 .exclusive-calendar-trigger.is-filtered .exclusive-calendar-indicator { display:block; }
 .exclusive-calendar-trigger:active { background:#e5f1f8; box-shadow:0 0 16px #7aa7ba33; }
 .exclusive-date-summary { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-top:6px; font-size:clamp(9px,2.55vw,11px); line-height:1.4; }
 .exclusive-date-chip { display:inline-flex; align-items:center; gap:10px; min-height:32px; padding:5px 9px; border-radius:16px; background:#e1f0f9; color:#214d62; font:inherit; }
 .exclusive-date-chip > span:last-child { font-size:19px; line-height:1; }
 .exclusive-date-reset { padding:5px 0 5px 8px; min-height:32px; color:#3d7690; background:none; text-decoration:underline; text-underline-offset:3px; font:inherit; white-space:nowrap; }
 .exclusive-format-dock { isolation:isolate; }
 .exclusive-format-dock::before { content:''; position:absolute; z-index:-2; top:calc(-8px - env(safe-area-inset-top,0px)); left:calc(-14px - env(safe-area-inset-left,0px)); height:calc(8px + env(safe-area-inset-top,0px)); width:100vw; background:#f5fbfff7; pointer-events:none; }
 body.exclusive-calendar-open .exclusive-format-dock { visibility:visible; pointer-events:none; }
 body.exclusive-calendar-open .floating-menu { opacity:1; visibility:visible; pointer-events:none; }
}
@media(prefers-reduced-motion:reduce) { .exclusive-page-filter-panel::before { animation:none; opacity:.75; } }

/* Desktop pins only the formats row; topics remain in the normal page flow.
   Position/width are measured on layout changes, never from the scroll handler. */
@media screen and (min-width:1201px) {
 .exclusive-page-formats-slot { min-width:0; overflow-anchor:none; }
 .exclusive-format-dock { display:block; position:fixed; z-index:40; top:12px; isolation:isolate; padding:0; border-radius:14px; background:#fff; }
 .exclusive-format-dock::before { content:''; position:absolute; z-index:-1; inset:-12px; border-radius:18px; background:#fffffff7; box-shadow:0 6px 26px #17435b24,0 0 22px #76bcdf26; pointer-events:none; }
 .exclusive-format-dock .exclusive-page-formats { opacity:1; transform:none; animation:none; }
 .dialog-open .exclusive-format-dock { visibility:hidden; pointer-events:none; }
}
