/* ==========================================================================
   Frigate Yacht Partners · "Your days" · seats and rotation · v8 · 11 September 2026
   Every class starts fyp-days-. Palette: navy #0A1A3F, gold #D4AF37, white, warm #F0EFEC.
   Sits in a half-width column on desktop and sizes itself from its OWN width
   (container queries), so it looks right in the brochure column and on a phone.
   ========================================================================== */
.fyp-days{
  --fyp-days-navy:#0A1A3F;
  --fyp-days-gold:#D4AF37;
  --fyp-days-gold-ink:#8A6A10;          /* gold dark enough to read as small text on white */
  --fyp-days-warm:#F0EFEC;
  --fyp-days-line:rgba(10,26,63,.08);
  --fyp-days-mut:#6A6A6A;
  --fyp-days-ease:cubic-bezier(.4,0,.2,1);
  --fyp-days-shadow:0 1px 2px rgba(10,26,63,.04),0 12px 36px rgba(10,26,63,.08);
  --fyp-days-gold-fill:linear-gradient(160deg,#EFD98E 0%,#D4AF37 52%,#BE992D 100%);
  container:fyp-days/inline-size;
  position:relative;
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  color:var(--fyp-days-navy);
  line-height:1.5;
  font-variant-numeric:lining-nums;      /* Playfair defaults to old-style figures ("Seat 1" read as "Seat ı").
                                            Every rule below that uses the font: shorthand resets this, so it repeats it. */
  -webkit-print-color-adjust:exact;print-color-adjust:exact;
}
.fyp-days *,.fyp-days *::before,.fyp-days *::after{box-sizing:border-box}
.fyp-days [hidden]{display:none!important}

/* ---------- cards ---------- */
.fyp-days-card{position:relative;margin:30px 0;padding:30px 18px 22px;background:#fff;border:1px solid var(--fyp-days-line);border-radius:18px;box-shadow:var(--fyp-days-shadow)}
.fyp-days-card::before{content:"";position:absolute;top:-1px;left:30%;right:8%;height:1px;background:linear-gradient(90deg,rgba(212,175,55,0),rgba(212,175,55,.85),rgba(212,175,55,0))}
.fyp-days-tag{position:absolute;top:0;left:18px;transform:translateY(-50%);display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 10px;border-radius:999px;background:var(--fyp-days-navy);color:#fff;font:500 9.5px/1 'IBM Plex Mono',ui-monospace,monospace;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;box-shadow:0 6px 16px rgba(10,26,63,.2)}
.fyp-days-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--fyp-days-gold);animation:fyp-days-beacon 2.4s var(--fyp-days-ease) infinite}
.fyp-days .fyp-days-eyebrow{margin:2px 0 6px;max-width:none;font:500 10.5px/1.2 'IBM Plex Mono',ui-monospace,monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--fyp-days-gold-ink)}
.fyp-days .fyp-days-title{margin:0 0 8px;max-width:none;font:700 22px/1.15 'Playfair Display',Georgia,serif;letter-spacing:-.005em;text-transform:none;color:var(--fyp-days-navy);font-variant-numeric:lining-nums}
.fyp-days .fyp-days-lede{margin:0 0 18px;max-width:none;font:400 15px/1.55 'Inter',system-ui,sans-serif;color:rgba(10,26,63,.78)}
.fyp-days .fyp-days-lede strong{font-weight:600;color:var(--fyp-days-navy)}
@container fyp-days (min-width:440px){
  .fyp-days-card{padding:36px 28px 26px}
  .fyp-days-tag{left:26px}
  .fyp-days .fyp-days-title{font-size:26px}
}

/* ---------- A · seat picker ---------- */
.fyp-days .fyp-days-hint{display:flex;align-items:center;gap:9px;margin:0 0 8px;max-width:none;font:600 10.5px/1 'IBM Plex Mono',ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--fyp-days-gold-ink)}
.fyp-days-hint-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--fyp-days-gold)}
.fyp-days-hint.fyp-days-is-cue .fyp-days-hint-dot{animation:fyp-days-beacon 1.8s var(--fyp-days-ease) infinite}

.fyp-days-seats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 10px;margin:0 0 20px;padding-top:10px}
@container fyp-days (min-width:440px){.fyp-days-seats{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}}

.fyp-days-seat{-webkit-appearance:none;appearance:none;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:94px;margin:0;padding:14px 4px 11px;border:1px solid rgba(10,26,63,.13);border-radius:14px;background:linear-gradient(180deg,#FFFFFF 0%,#F8F7F3 100%);color:var(--fyp-days-navy);font:inherit;text-align:center;cursor:pointer;box-shadow:0 1px 2px rgba(10,26,63,.05),0 6px 16px rgba(10,26,63,.07);transition:transform .3s var(--fyp-days-ease),box-shadow .3s var(--fyp-days-ease),border-color .3s var(--fyp-days-ease);-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.fyp-days-seat::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;opacity:0}
.fyp-days-seat-bg{position:absolute;inset:0;border-radius:inherit;background:var(--fyp-days-gold-fill);opacity:0;transition:opacity .35s var(--fyp-days-ease);pointer-events:none}
.fyp-days-seat-icon{position:relative;width:32px;height:16px;margin:0 0 7px;color:var(--fyp-days-navy);transition:transform .45s var(--fyp-days-ease)}
.fyp-days-hull{fill:currentColor}
.fyp-days-cabin{fill:currentColor;opacity:.55}
.fyp-days-fly{fill:currentColor;opacity:.32}
.fyp-days-win{fill:none;stroke:#fff;stroke-width:1.1;stroke-linecap:round}
.fyp-days-wake{fill:none;stroke:var(--fyp-days-gold);stroke-width:1.1;stroke-linecap:round;opacity:.9}
.fyp-days-seat-k{position:relative;font:500 9.5px/1 'IBM Plex Mono',ui-monospace,monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--fyp-days-mut);transition:color .3s var(--fyp-days-ease)}
.fyp-days-seat-n{position:relative;margin-top:4px;font:700 30px/1 'Playfair Display',Georgia,serif;font-variant-numeric:lining-nums;color:var(--fyp-days-navy)}
.fyp-days-seat-tick{position:absolute;top:-9px;left:50%;width:20px;height:20px;margin-left:-10px;border-radius:50%;background:var(--fyp-days-navy);box-shadow:0 0 0 2px #fff,0 3px 8px rgba(10,26,63,.25);display:flex;align-items:center;justify-content:center;transform:scale(0);opacity:0;transition:transform .35s var(--fyp-days-ease),opacity .25s var(--fyp-days-ease)}
.fyp-days-seat-tick svg{width:11px;height:11px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
@media (hover:hover){
  .fyp-days-seat:hover{transform:translateY(-3px);border-color:rgba(212,175,55,.75);box-shadow:0 2px 4px rgba(10,26,63,.06),0 16px 32px rgba(10,26,63,.13)}
  .fyp-days-seat:hover .fyp-days-seat-icon{transform:translateX(3px)}
}
.fyp-days-seat:active{transform:translateY(-1px) scale(.96);transition-duration:.12s}
.fyp-days-seat:focus{outline:none}
.fyp-days-seat:focus-visible{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--fyp-days-navy),0 10px 24px rgba(10,26,63,.14)}
.fyp-days-seat[aria-pressed="true"]{border-color:#C29D2F;transform:translateY(-2px);box-shadow:0 2px 4px rgba(138,106,16,.18),0 12px 28px rgba(212,175,55,.42)}
.fyp-days-seat[aria-pressed="true"] .fyp-days-seat-bg{opacity:1}
.fyp-days-seat[aria-pressed="true"] .fyp-days-seat-k{color:rgba(10,26,63,.78)}
.fyp-days-seat[aria-pressed="true"] .fyp-days-seat-tick{transform:scale(1);opacity:1}
.fyp-days-seat[aria-pressed="true"] .fyp-days-win{stroke:#E9CF7A}
.fyp-days-seat[aria-pressed="true"]:focus-visible{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--fyp-days-navy),0 12px 28px rgba(212,175,55,.42)}
/* one-time "these are buttons" cue: a gold ring ripples out of each seat, twice, in sequence */
.fyp-days-seats.fyp-days-is-cue .fyp-days-seat[aria-pressed="false"]::after{animation:fyp-days-ping 1.5s var(--fyp-days-ease) calc(var(--fyp-days-i,0) * 130ms + 250ms) 2 both}

/* ---------- A · summary ---------- */
.fyp-days-summary{margin:0 0 20px;padding:14px 12px 12px;background:var(--fyp-days-warm);border:1px solid var(--fyp-days-line);border-radius:14px}
.fyp-days-sum-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-height:24px}
.fyp-days-sum-seat{font:600 11px/1 'IBM Plex Mono',ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--fyp-days-navy)}
.fyp-days-sum-year{font:500 11px/1 'IBM Plex Mono',ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--fyp-days-mut)}
/* hidden seats take no space (on a phone an invisible pill left a blank line); it rises in when shown */
.fyp-days-xmas{display:none;align-items:center;gap:6px;padding:5px 10px 5px 8px;border-radius:999px;background:var(--fyp-days-navy);color:#fff;font:500 11.5px/1 'Inter',system-ui,sans-serif}
.fyp-days-xmas svg{width:11px;height:11px;fill:var(--fyp-days-gold)}
.fyp-days-xmas.fyp-days-is-on{display:inline-flex;animation:fyp-days-rise .4s var(--fyp-days-ease) both}
.fyp-days-stats{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:4px;margin:12px 0 12px}
.fyp-days-stat b{display:block;font:700 34px/1 'Playfair Display',Georgia,serif;font-variant-numeric:lining-nums tabular-nums;color:var(--fyp-days-navy)}
.fyp-days-stat b::after{content:"";display:block;width:24px;height:3px;margin:9px 0 6px;border-radius:2px;background:var(--fyp-days-navy)}
.fyp-days-stat-other b::after{background:rgba(10,26,63,.18)}
.fyp-days-stat-total b::after{background:var(--fyp-days-gold)}
.fyp-days-stat > span{display:block;font:400 11.5px/1.3 'Inter',system-ui,sans-serif;color:var(--fyp-days-mut)}
.fyp-days-nowrap{white-space:nowrap}
.fyp-days-op{padding-top:5px;font:400 24px/1 'Playfair Display',Georgia,serif;color:rgba(10,26,63,.3)}
.fyp-days-dates{display:grid;gap:7px;padding-top:11px;border-top:1px solid rgba(10,26,63,.09)}
.fyp-days-dates-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 7px}
.fyp-days-dates-k{min-width:96px;font:500 9.5px/1.2 'IBM Plex Mono',ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--fyp-days-mut)}
.fyp-days-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:#fff;border:1px solid rgba(212,175,55,.6);font:500 12.5px/1.15 'Inter',system-ui,sans-serif;font-variant-numeric:lining-nums tabular-nums;color:var(--fyp-days-navy);white-space:nowrap}
.fyp-days-chip svg{width:10px;height:10px;fill:var(--fyp-days-gold)}
@container fyp-days (min-width:440px){.fyp-days-stat b{font-size:42px}.fyp-days-summary{padding:16px 20px 14px}.fyp-days-stats{gap:6px}.fyp-days-stat > span{font-size:12px}}

/* ---------- A · the year, twelve month rows ---------- */
.fyp-days-year{display:grid;grid-template-columns:26px minmax(0,1fr) 8px;column-gap:8px;row-gap:4px;align-items:center;margin:0 0 16px}
.fyp-days-axis{grid-column:2;display:grid;grid-template-columns:repeat(31,minmax(0,1fr));column-gap:1.5px;font:500 9px/1 'IBM Plex Mono',ui-monospace,monospace;color:var(--fyp-days-mut)}
.fyp-days-axis-n{justify-self:center;white-space:nowrap}
.fyp-days-axis-n:first-child{justify-self:start}
.fyp-days-axis-n:last-child{justify-self:end}
.fyp-days-mlab{grid-column:1;font:500 9.5px/1 'IBM Plex Mono',ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--fyp-days-mut)}
.fyp-days-strip{grid-column:2;display:grid;grid-template-columns:repeat(31,minmax(0,1fr));gap:1.5px}
.fyp-days-d{position:relative;display:block;height:10px;border-radius:2px;background-color:rgba(10,26,63,.08);transition:background-color .4s var(--fyp-days-ease),transform .4s var(--fyp-days-ease),box-shadow .4s var(--fyp-days-ease)}
.fyp-days-d.fyp-days-is-high{background-color:var(--fyp-days-navy)}
.fyp-days-d.fyp-days-is-yard{background-color:#ECEAE4;background-image:repeating-linear-gradient(135deg,rgba(10,26,63,.42) 0 1.1px,transparent 1.1px 3.2px)}
.fyp-days-d.fyp-days-is-void{background:transparent}
.fyp-days-d.fyp-days-is-mine{background-color:var(--fyp-days-gold);transform:scaleY(1.28);box-shadow:0 0 0 .5px rgba(138,106,16,.35),0 2px 6px rgba(212,175,55,.55)}
.fyp-days-d.fyp-days-is-xmasday::after{content:"";position:absolute;left:50%;top:50%;width:3px;height:3px;margin:-1.5px 0 0 -1.5px;border-radius:50%;background:var(--fyp-days-gold)}
.fyp-days-d.fyp-days-is-xmasday.fyp-days-is-mine::after{background:var(--fyp-days-navy)}
.fyp-days-rail{grid-column:3;align-self:stretch;justify-self:center;width:5px;margin:2px 0;border-radius:3px;background:linear-gradient(180deg,rgba(10,26,63,0) 0%,rgba(10,26,63,.2) 15%,rgba(10,26,63,.62) 64%,rgba(10,26,63,.2) 90%,rgba(10,26,63,0) 100%)}
@container fyp-days (min-width:440px){
  .fyp-days-year{grid-template-columns:32px minmax(0,1fr) 10px;column-gap:10px;row-gap:5px}
  .fyp-days-strip,.fyp-days-axis{column-gap:2px;gap:2px}
  .fyp-days-d{height:13px;border-radius:2.5px}
  .fyp-days-d.fyp-days-is-xmasday::after{width:4px;height:4px;margin:-2px 0 0 -2px}
}
.fyp-days .fyp-days-key{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;list-style:none;font:400 12px/1.35 'Inter',system-ui,sans-serif;color:var(--fyp-days-mut)}
.fyp-days .fyp-days-key li{display:inline-flex;align-items:center;gap:7px;margin:0;padding:0}
.fyp-days-sw{flex:none;display:inline-block;width:12px;height:12px;border-radius:3px}
.fyp-days-sw-mine{background:var(--fyp-days-gold);box-shadow:0 1px 4px rgba(212,175,55,.6)}
.fyp-days-sw-high{background:var(--fyp-days-navy)}
.fyp-days-sw-rest{background:rgba(10,26,63,.1)}
.fyp-days-sw-yard{background-color:#ECEAE4;background-image:repeating-linear-gradient(135deg,rgba(10,26,63,.5) 0 1.2px,transparent 1.2px 3.4px)}
.fyp-days-sw-storm{width:5px;height:15px;border-radius:3px;background:linear-gradient(180deg,rgba(10,26,63,.12),rgba(10,26,63,.62),rgba(10,26,63,.12))}

/* ---------- B · the rotation dial ---------- */
.fyp-days-dial-wrap{position:relative;max-width:340px;margin:4px auto 0}
.fyp-days .fyp-days-pointer-label{display:flex;flex-direction:column;align-items:center;gap:5px;margin:0 0 4px;max-width:none;font:600 10px/1 'IBM Plex Mono',ui-monospace,monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--fyp-days-gold-ink)}
.fyp-days-pointer-label::after{content:"";width:1px;height:10px;background:linear-gradient(180deg,rgba(212,175,55,0),var(--fyp-days-gold))}
.fyp-days-dial{display:block;width:100%;height:auto;aspect-ratio:1/1;overflow:visible;cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 18px 28px rgba(10,26,63,.22))}
.fyp-days-dial.fyp-days-is-dragging{cursor:grabbing}
.fyp-days-bezel{fill:none;stroke:rgba(212,175,55,.6);stroke-width:1.2}
.fyp-days-tick{stroke:rgba(255,255,255,.24);stroke-width:1;stroke-linecap:round}
.fyp-days-tick.fyp-days-is-major{stroke:rgba(212,175,55,.8);stroke-width:1.6}
.fyp-days-track{fill:none;stroke:rgba(255,255,255,.18);stroke-width:1;stroke-dasharray:2 5}
.fyp-days-arc{fill:none;stroke:rgba(212,175,55,.65);stroke-width:1.3;stroke-linecap:round}
.fyp-days-ord text{font:500 8px 'IBM Plex Mono',ui-monospace,monospace;letter-spacing:.14em;fill:rgba(255,255,255,.55);text-anchor:middle}
.fyp-days-c-disc{fill:rgba(255,255,255,.04);stroke:rgba(212,175,55,.5);stroke-width:1}
.fyp-days-c-k,.fyp-days-c-of{font:500 7.5px 'IBM Plex Mono',ui-monospace,monospace;letter-spacing:.24em;fill:rgba(255,255,255,.62);text-anchor:middle}
.fyp-days-c-n{font:700 34px 'Playfair Display',Georgia,serif;font-variant-numeric:lining-nums;fill:#fff;text-anchor:middle}
.fyp-days-c-n.fyp-days-is-flip{animation:fyp-days-fade .55s var(--fyp-days-ease)}
.fyp-days-dseat{cursor:pointer}
.fyp-days-dseat-disc{fill:#fff;stroke:rgba(10,26,63,.18);stroke-width:1}
.fyp-days-dseat-k{font:600 6px 'IBM Plex Mono',ui-monospace,monospace;letter-spacing:.16em;fill:rgba(10,26,63,.62);text-anchor:middle}
.fyp-days-dseat-n{font:700 19px 'Playfair Display',Georgia,serif;font-variant-numeric:lining-nums;fill:var(--fyp-days-navy);text-anchor:middle}
.fyp-days-dseat-you{fill:none;stroke:var(--fyp-days-gold);stroke-width:2.2;opacity:0;transition:opacity .4s var(--fyp-days-ease)}
.fyp-days-dseat.fyp-days-is-you .fyp-days-dseat-you{opacity:1}
.fyp-days-dseat-star{opacity:0;transition:opacity .45s var(--fyp-days-ease)}
.fyp-days-dseat-star circle{fill:var(--fyp-days-navy);stroke:var(--fyp-days-gold);stroke-width:1.2}
.fyp-days-dseat-star path{fill:var(--fyp-days-gold)}
.fyp-days-dseat.fyp-days-is-xmas .fyp-days-dseat-star{opacity:1}
.fyp-days .fyp-days-caption{margin:18px 0 4px;max-width:none;min-height:2.7em;text-align:center;font:600 17px/1.35 'Playfair Display',Georgia,serif;font-variant-numeric:lining-nums;color:var(--fyp-days-navy)}
.fyp-days .fyp-days-caption-sub{margin:0;max-width:none;min-height:2.9em;text-align:center;font:400 13.5px/1.45 'Inter',system-ui,sans-serif;color:var(--fyp-days-mut)}
.fyp-days .fyp-days-dial-hint{margin:14px 0 0;max-width:none;text-align:center;font:500 9.5px/1.5 'IBM Plex Mono',ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--fyp-days-mut)}

/* ---------- B · controls ---------- */
.fyp-days-controls{display:flex;flex-direction:column-reverse;align-items:center;gap:14px;margin-top:14px}
.fyp-days-play{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:10px;height:48px;margin:0;padding:0 22px 0 7px;border:0;border-radius:999px;background:var(--fyp-days-navy);color:#fff;font:600 14px/1 'Inter',system-ui,sans-serif;letter-spacing:.02em;cursor:pointer;box-shadow:0 2px 4px rgba(10,26,63,.12),0 10px 24px rgba(10,26,63,.2);transition:transform .3s var(--fyp-days-ease),box-shadow .3s var(--fyp-days-ease);-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.fyp-days-play-disc{position:relative;flex:none;width:34px;height:34px;display:flex;align-items:center;justify-content:center}
.fyp-days-play-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.fyp-days-play-track{fill:rgba(255,255,255,.07);stroke:rgba(255,255,255,.2);stroke-width:1.6}
.fyp-days-play-prog{fill:none;stroke:var(--fyp-days-gold);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:100.53;stroke-dashoffset:100.53}
.fyp-days-play.fyp-days-is-ticking .fyp-days-play-prog{animation:fyp-days-prog var(--fyp-days-tick,2500ms) linear forwards}
.fyp-days-play-icon{position:relative;width:14px;height:14px;fill:var(--fyp-days-gold)}
.fyp-days-i-pause{display:none}
.fyp-days-play.fyp-days-is-playing .fyp-days-i-pause{display:inline}
.fyp-days-play.fyp-days-is-playing .fyp-days-i-play{display:none}
@media (hover:hover){.fyp-days-play:hover{transform:translateY(-2px);box-shadow:0 3px 6px rgba(10,26,63,.14),0 14px 30px rgba(10,26,63,.26)}}
.fyp-days-play:active{transform:scale(.97)}
.fyp-days-play:focus{outline:none}
.fyp-days-play:focus-visible{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--fyp-days-gold),0 10px 24px rgba(10,26,63,.2)}
.fyp-days-years{display:flex;align-items:center;gap:10px;width:100%;min-width:0}
.fyp-days-years-k{display:none;font:500 10px/1 'IBM Plex Mono',ui-monospace,monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--fyp-days-mut)}
.fyp-days-years-track{position:relative;flex:1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;min-width:0}
.fyp-days-years-rail{position:absolute;left:8.333%;right:8.333%;top:50%;height:2px;margin-top:-1px;border-radius:2px;background:rgba(10,26,63,.1);overflow:hidden;pointer-events:none}
.fyp-days-years-fill{position:absolute;inset:0;background:linear-gradient(90deg,#E9CF73,#D4AF37);transform-origin:left center;transform:scaleX(0);transition:transform .7s var(--fyp-days-ease)}
.fyp-days-yr{-webkit-appearance:none;appearance:none;position:relative;justify-self:center;width:40px;height:40px;margin:0;padding:0;border:1px solid rgba(10,26,63,.15);border-radius:50%;background:#fff;color:var(--fyp-days-navy);font:700 16px/1 'Playfair Display',Georgia,serif;font-variant-numeric:lining-nums;cursor:pointer;box-shadow:0 1px 2px rgba(10,26,63,.06),0 4px 10px rgba(10,26,63,.06);transition:transform .3s var(--fyp-days-ease),box-shadow .3s var(--fyp-days-ease),border-color .3s var(--fyp-days-ease),background-color .3s var(--fyp-days-ease);-webkit-tap-highlight-color:transparent;touch-action:manipulation}
@media (hover:hover){.fyp-days-yr:hover{border-color:var(--fyp-days-gold);transform:translateY(-2px)}}
.fyp-days-yr:focus{outline:none}
.fyp-days-yr:focus-visible{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--fyp-days-navy)}
.fyp-days-yr[aria-pressed="true"]{background:var(--fyp-days-gold-fill);border-color:#C29D2F;transform:scale(1.1);box-shadow:0 6px 16px rgba(212,175,55,.45)}
@container fyp-days (min-width:440px){
  .fyp-days-controls{flex-direction:row;gap:18px}
  .fyp-days-years-k{display:block}
}

/* ---------- screen-reader text and print-only tables ---------- */
.fyp-days .fyp-days-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.fyp-days .fyp-days-print{display:none}

/* ---------- motion ---------- */
@keyframes fyp-days-beacon{0%{box-shadow:0 0 0 0 rgba(212,175,55,.7)}70%,100%{box-shadow:0 0 0 8px rgba(212,175,55,0)}}
@keyframes fyp-days-ping{0%{opacity:1;box-shadow:0 0 0 0 rgba(212,175,55,.65)}80%{opacity:1;box-shadow:0 0 0 10px rgba(212,175,55,0)}100%{opacity:0;box-shadow:0 0 0 10px rgba(212,175,55,0)}}
@keyframes fyp-days-fade{from{opacity:0}to{opacity:1}}
@keyframes fyp-days-rise{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes fyp-days-prog{from{stroke-dashoffset:100.53}to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){
  .fyp-days *,.fyp-days *::before,.fyp-days *::after{animation:none!important;transition:none!important}
}

/* ---------- print: static equivalents ---------- */
@media print{
  .fyp-days-card{margin:14px 0;padding:14px 16px;box-shadow:none;border:1px solid rgba(10,26,63,.25);border-radius:10px;break-inside:avoid;page-break-inside:avoid}
  .fyp-days-card::before{display:none}
  .fyp-days-tag,.fyp-days-hint,.fyp-days-seats,.fyp-days-dial-wrap,.fyp-days-caption,.fyp-days-caption-sub,.fyp-days-controls,.fyp-days-dial-hint{display:none!important}
  .fyp-days .fyp-days-lede{font-size:12px;margin-bottom:10px}
  .fyp-days .fyp-days-title{font-size:18px}
  .fyp-days-d{transform:none!important;box-shadow:none!important}
  .fyp-days .fyp-days-print{display:table;width:100%;margin:12px 0 0;border-collapse:collapse;background:#fff;font:400 11.5px/1.35 'Inter',Arial,sans-serif;color:var(--fyp-days-navy)}
  .fyp-days .fyp-days-print caption{caption-side:top;padding:0 0 6px;text-align:left;font:600 10px/1.2 'IBM Plex Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--fyp-days-navy)}
  .fyp-days .fyp-days-print th,.fyp-days .fyp-days-print td{padding:5px 8px;border-bottom:1px solid rgba(10,26,63,.14);text-align:left;vertical-align:top;font:400 11.5px/1.35 'Inter',Arial,sans-serif;letter-spacing:normal;text-transform:none;color:var(--fyp-days-navy)}
  .fyp-days .fyp-days-print thead th{font:600 9px/1.2 'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase;border-bottom:1.5px solid var(--fyp-days-navy)}
  .fyp-days .fyp-days-print tbody th{font-weight:600}
  .fyp-days .fyp-days-print-order tbody th,.fyp-days .fyp-days-print-order td{white-space:nowrap}
  .fyp-days .fyp-days-print-order td:last-child{white-space:normal}
  .fyp-days .fyp-days-print td.fyp-days-num{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
  .fyp-days *,.fyp-days *::before,.fyp-days *::after{animation:none!important;transition:none!important}
}
