/* Generated by build/build.js — do not edit by hand. */

/* Interactive-state rules lifted out of the design's style-hover /
   style-active / style-focus attributes. !important mirrors the
   prototype, where those styles were merged over the inline ones. */
.hv1:hover{color:#c2187a !important}
.hv2:hover{background:#fdf5fa !important}
.hv3:hover{background:#fdf5fa !important;color:#c2187a !important}
.hv4:hover{background:#b01d6e !important;color:#fff !important;transform:translateY(1px) !important}
.hv5:hover{border-color:#d92a86 !important;color:#a51367 !important}
.ac6:active{background:#f7ecf3 !important}
.hv7:hover{color:#f3a0cd !important}
.hv8:hover{color:#fff !important}
.hv9:hover{color:#fff !important;border-color:#f3a0cd !important}
.hv10:hover{background:#b01d6e !important;color:#fff !important;box-shadow:0 4px 12px rgba(217,42,134,.28) !important;transform:translateY(1px) !important}
.hv11:hover{border-color:#d92a86 !important;color:#a51367 !important;background:#fdf0f7 !important}
.hv12:hover{background:rgba(20,10,30,.18) !important}
.hv13:hover{background:#b01d6e !important;color:#fff !important}
.ac14:active{transform:translateY(1px) !important}
.hv15:hover{box-shadow:0 12px 28px rgba(91,45,142,.14) !important;transform:translateY(-3px) !important}
.hv16:hover{background:#55348f !important;color:#fff !important}
.fc17:focus{border-color:#c2187a !important}
.hv18:hover{background:#b01d6e !important;box-shadow:0 4px 12px rgba(217,42,134,.28) !important}
.fc19:focus{border-color:#d92a86 !important}
.hv20:hover{background:#a51367 !important;box-shadow:0 4px 12px rgba(217,42,134,.3) !important}
.hv21:hover{color:#a51367 !important;border-color:#d92a86 !important;background:#fdf0f7 !important}
.hv22:hover{background:#3a2470 !important;color:#fff !important}
.hv23:hover{color:#a51367 !important}
.hv24:hover{box-shadow:0 10px 24px rgba(91,45,142,.12) !important;transform:translateY(-2px) !important}
.hv25:hover{background:#3a2470 !important}
.hv26:hover{box-shadow:0 12px 28px rgba(91,45,142,.16) !important;transform:translateY(-3px) !important}

/* Conditional blocks */
.dc-hide{display:none !important}
.dc-dropmenu{display:none}
.dc-drop:hover>.dc-dropmenu,.dc-drop:focus-within>.dc-dropmenu{display:block}

/* Responsive branches — these replace the prototype's innerWidth state */
@media (max-width:1079px){
  .dc-desk-1080{display:none !important}
  .dc-ta-c1080{text-align:center !important}
  .dc-mx-c1080{margin-left:auto !important;margin-right:auto !important}
}
@media (min-width:1080px){
  .dc-mob-1080{display:none !important}
}
@media (max-width:919px){
  .dc-desk-920{display:none !important}
  .dc-ta-c920{text-align:center !important}
  .dc-mx-c920{margin-left:auto !important;margin-right:auto !important}
}
@media (min-width:920px){
  .dc-mob-920{display:none !important}
}

/* Photo slots — fill them by adding an entry to assets/js/photos.js.
   Same grey wash and caption treatment the design prototype used. */
.img-slot{position:absolute;inset:0;display:flex;flex-direction:column;gap:6px;
  align-items:center;justify-content:center;padding:12px;text-align:center;
  background:rgba(127,127,127,.08);color:#7a7080;opacity:.85;
  font:13px/1.3 system-ui,-apple-system,sans-serif;overflow:hidden}
.img-slot>span{max-width:94%}
.img-slot.is-filled{padding:0;gap:0;opacity:1;background:none}
.img-slot>img{width:100%;height:100%;object-fit:cover;display:block}

/* Utility */
[data-act]{-webkit-tap-highlight-color:transparent}
img{max-width:100%}
:focus-visible{outline:2px solid #d92a86;outline-offset:2px}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition-duration:.01ms !important;animation-duration:.01ms !important}
}
