.bulletin-slider-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 28px;
}
.bulletin-slider-head > p {
  margin: 0;
  color: #071c3d;
  font: 800 13px Manrope;
  text-transform: uppercase;
  letter-spacing: .09em;
}
.bulletin-slider-controls { display: flex; align-items: center; gap: 10px; }
.bulletin-slider-controls button {
  width: 40px;
  height: 40px;
  border: 1px solid #d4dce8;
  border-radius: 50%;
  background: #fff;
  color: #071c3d;
  font-size: 20px;
  cursor: pointer;
  box-shadow: 0 5px 14px rgba(7,28,61,.08);
}
.bulletin-slider-controls button:hover:not(:disabled) { background: #071c3d; color: #eab52c; }
.bulletin-slider-controls button:disabled { opacity: .35; cursor: not-allowed; }
.bulletin-slider-controls span {
  min-width: 48px;
  text-align: center;
  color: #667085;
  font: 800 12px Manrope;
}
.bulletin-feed {
  display: flex;
  gap: 16px;
  margin-top: 14px;
  width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  scrollbar-color: #d4a92c #edf1f6;
  padding: 2px 2px 14px;
}
.bulletin-feed.is-empty { display: block; overflow: visible; }
.bulletin-card {
  flex: 0 0 100%;
  width: 100%;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
.bulletin-summary p {
  margin: 0 0 1rem;
  color: #5d6b80;
  font-size: 1rem;
  line-height: 1.7;
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
}
.bulletin-summary p:last-child { margin-bottom: 12px; }
.subscriber-gate {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
  padding: clamp(22px, 4vw, 38px);
  border: 1px solid #d7e0eb;
  border-radius: 20px;
  background: linear-gradient(135deg, #fff 0%, #f3f7fc 100%);
  box-shadow: 0 12px 30px rgba(7,28,61,.08);
}
.subscriber-gate-icon { width: 76px; height: 76px; display: grid; place-items: center; border-radius: 18px; background: #071c3d; color: #eab52c; font: 800 20px Manrope; }
.subscriber-gate small { color: #a21d2c; font: 800 12px Manrope; text-transform: uppercase; letter-spacing: .09em; }
.subscriber-gate h4 { margin: 8px 0 10px; color: #071c3d; font: 800 clamp(22px, 3vw, 30px)/1.2 Manrope; }
.subscriber-gate p { margin: 0 0 18px; color: #5d6b80; font-size: 1rem; line-height: 1.65; }
.subscriber-gate a { display: inline-flex; padding: 12px 18px; border-radius: 10px; background: #a21d2c; color: #fff; font: 800 14px Manrope; text-decoration: none; }
.subscriber-gate a:hover { background: #071c3d; color: #eab52c; }
.subscriber-gate span { display: block; margin-top: 10px; color: #748196; font-size: 12px; }
.bulletin-nav button:disabled { cursor: not-allowed; opacity: .58; }
.free-services-form { display: grid; gap: 20px; padding: 4px 2px 14px; }
.free-services-form fieldset { margin: 0; padding: 0; border: 0; }
.free-services-form legend { margin-bottom: 12px; color: #071c3d; font: 800 15px Manrope; }
.free-service-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.free-service-options label { cursor: pointer; }
.free-service-options input { position: absolute; opacity: 0; pointer-events: none; }
.free-service-options span { display: flex; align-items: center; gap: 10px; min-height: 64px; padding: 12px; border: 1px solid #d7e0eb; border-radius: 12px; color: #3f4e63; background: #fff; font-size: 14px; line-height: 1.4; }
.free-service-options span b { flex: 0 0 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: #eef3f8; color: #071c3d; font: 800 12px Manrope; }
.free-service-options input:checked + span { border-color: #a70f18; background: #fff5f5; box-shadow: 0 0 0 2px rgba(167,15,24,.1); }
.free-service-options input:checked + span b { background: #a70f18; color: #fff; }
.free-service-options input:focus-visible + span { outline: 3px solid rgba(234,181,44,.55); outline-offset: 2px; }
.free-reservation-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.free-services-form>label,.free-reservation-fields label { display: grid; gap: 7px; color: #071c3d; font: 800 14px Manrope; }
.free-services-form input,.free-services-form textarea { width: 100%; box-sizing: border-box; padding: 13px 14px; border: 1px solid #cbd5e1; border-radius: 10px; color: #071c3d; background: #fff; font: 400 16px/1.45 Arial,sans-serif; }
.free-services-form textarea { min-height: 120px; resize: vertical; }
.free-services-form input:focus,.free-services-form textarea:focus { outline: 0; border-color: #b48710; box-shadow: 0 0 0 3px rgba(234,181,44,.18); }
.free-services-submit { justify-self: start; padding: 13px 20px; border: 0; border-radius: 10px; background: #a70f18; color: #fff; font: 800 14px Manrope; cursor: pointer; }
.free-services-submit:hover { background: #071c3d; color: #eab52c; }
.free-services-submit:disabled { opacity: .55; cursor: wait; }
.free-services-status { margin: 0; min-height: 20px; font-weight: 700; }
.free-services-status.success { color: #16723a; }.free-services-status.error { color: #a70f18; }
.free-services-note { color: #6b778b; line-height: 1.5; }.free-honeypot { position: absolute!important; left: -9999px!important; }
.usage-label{justify-self:start;padding:9px 12px;border-radius:999px;background:#fff4d6;color:#755600;font:800 12px Manrope}.usage-label.active{background:#e7f7ed;color:#126a35}
.payroll-calculator { display: grid; gap: 20px; padding: 4px 2px 16px; }
.payroll-employee { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding: 18px; border-radius: 16px; background: #f3f7fc; }
.payroll-calculator label { display: grid; gap: 6px; color: #071c3d; font: 800 12px Manrope; }
.payroll-calculator label small { color: #708096; font-weight: 600; }
.payroll-calculator input,.payroll-calculator select { width: 100%; min-width: 0; box-sizing: border-box; padding: 11px; border: 1px solid #cbd5e1; border-radius: 9px; background: #fff; color: #071c3d; font: 500 14px Arial,sans-serif; }
.payroll-calculator input:focus,.payroll-calculator select:focus { outline: 0; border-color: #b48710; box-shadow: 0 0 0 3px rgba(234,181,44,.18); }
.payroll-days-head { display: flex; justify-content: space-between; align-items: end; gap: 18px; }
.payroll-days-head b,.payroll-days-head small { display: block; }.payroll-days-head b { color: #071c3d; }.payroll-days-head small { margin-top: 4px; color: #6b778b; }
.payroll-days-head button,.payroll-compute { border: 0; border-radius: 10px; padding: 12px 16px; background: #071c3d; color: #fff; font: 800 13px Manrope; cursor: pointer; white-space: nowrap; }
.payroll-days { display: grid; gap: 10px; }
.payroll-day { position: relative; display: grid; grid-template-columns: 1.1fr 2fr repeat(4,1fr); gap: 9px; padding: 14px 44px 14px 14px; border: 1px solid #d7e0eb; border-radius: 14px; background: #fff; }
.payroll-day-result { grid-column: 1/-1; padding-top: 9px; border-top: 1px solid #edf1f6; color: #59697f; font: 700 12px Manrope; }
.payroll-remove { position: absolute; right: 10px; top: 10px; width: 28px; height: 28px; border: 0; border-radius: 50%; background: #fff0f0; color: #a70f18; font-size: 20px; cursor: pointer; }
.payroll-actions{display:flex;gap:10px;flex-wrap:wrap}.payroll-compute { justify-self: start; background: #a70f18; padding: 14px 22px; }.payroll-pdf{padding:14px 22px;border:1px solid #071c3d;border-radius:10px;background:#fff;color:#071c3d;font:800 13px Manrope;cursor:pointer}.payroll-pdf:hover:not(:disabled){background:#071c3d;color:#eab52c}.payroll-pdf:disabled{opacity:.45;cursor:not-allowed}
.payroll-results { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; overflow: hidden; border: 1px solid #d7e0eb; border-radius: 16px; background: #d7e0eb; }
.payroll-results>div,.payroll-results>p { margin: 0; padding: 16px; background: #fff; }.payroll-results>p { grid-column: 1/-1; color: #6b778b; }
.payroll-results span,.payroll-results b { display: block; }.payroll-results span { color: #6b778b; font-size: 12px; }.payroll-results b { margin-top: 5px; color: #071c3d; font: 800 17px Manrope; }
.payroll-results .payroll-total { background: #f7f0d8; }.payroll-results .payroll-net { grid-column: span 3; background: #071c3d; }.payroll-results .payroll-net span { color: #aebed4; }.payroll-results .payroll-net b { color: #eab52c; font-size: 24px; }
.payroll-guidance { padding: 17px; border-left: 4px solid #eab52c; border-radius: 10px; background: #fffaf0; color: #536177; font-size: 12px; line-height: 1.6; }.payroll-guidance>b { color: #071c3d; font: 800 13px Manrope; }.payroll-guidance p { margin: 7px 0; }.payroll-guidance a { color: #8d1824; font-weight: 700; }.payroll-guidance small { color: #69788c; }
.subscription-prompt{max-width:520px;padding:34px;border:0;border-radius:24px;color:#445168;box-shadow:0 30px 100px #071c3d66}.subscription-prompt::backdrop{background:#071c3ddd;backdrop-filter:blur(5px)}.subscription-prompt .close{position:absolute;right:15px;top:12px;border:0;background:transparent;font-size:30px;cursor:pointer}.subscription-icon{width:60px;height:60px;display:grid;place-items:center;border-radius:15px;background:#071c3d;color:#eab52c;font:900 18px Manrope}.subscription-eyebrow{margin:20px 0 6px;color:#a70f18;font:800 12px Manrope;text-transform:uppercase;letter-spacing:.12em}.subscription-prompt h3{margin:0 0 10px;color:#071c3d;font:800 28px/1.2 Manrope}.subscription-prompt>p:not(.subscription-eyebrow){line-height:1.55}.subscription-price{display:flex;align-items:baseline;gap:8px;margin:18px 0;color:#071c3d}.subscription-price b{font:900 34px Manrope}.subscription-price span{color:#667085}.subscription-prompt ul{padding-left:20px;line-height:1.7}.payment-instructions{display:grid;gap:7px;margin:18px 0;padding:16px;border-radius:12px;background:#f4f7fb}.payment-instructions b{color:#071c3d}.payment-instructions span{font-size:13px;line-height:1.45}.payment-instructions a{color:#a70f18;font-weight:700}.subscription-email{display:inline-flex;padding:13px 18px;border-radius:10px;background:#a70f18;color:#fff;font:800 14px Manrope;text-decoration:none}
.bulletin-feed:focus-visible {
  outline: 3px solid rgba(234,181,44,.55);
  outline-offset: 4px;
  border-radius: 16px;
}
@media (max-width: 600px) {
  .bulletin-slider-head { align-items: flex-end; }
  .bulletin-slider-head > p { font-size: 11px; }
  .bulletin-slider-controls button { width: 38px; height: 38px; }
  .subscriber-gate { grid-template-columns: 1fr; }
  .free-service-options,.free-reservation-fields { grid-template-columns: 1fr; }
  .payroll-employee,.payroll-results { grid-template-columns: 1fr; }.payroll-day { grid-template-columns: 1fr 1fr; }.payroll-day label:nth-child(2) { grid-column: 1/-1; }.payroll-results .payroll-net { grid-column: auto; }.payroll-days-head { align-items: stretch; flex-direction: column; }.payroll-days-head button { align-self: start; }
}
