/* Pinto — the mybiz.promo pigeon helper (site and admin panel). Colours follow the page theme when it has one. */
.pinto{
  --pt-red: var(--red, var(--ph-red, #D7282F)); --pt-red-dark: var(--red-dark, var(--ph-red-dark, #B5202A));
  --pt-tint: var(--red-tint, var(--ph-red-tint, rgba(215,40,47,.1))); --pt-grey: var(--grey-700, var(--ph-grey-700, #3A3B3E));
  --pt-ink: #2F3032; --pt-muted: #5F6064; --pt-line: #E3E4E8; --pt-bg: #F4F5F7; --pt-green: #2E9E5B;
  position: fixed; right: 14px; bottom: 10px; z-index: 900; font-family: inherit; font-size: 14px; line-height: 1.45; color: var(--pt-ink);
}
.pinto *, .pinto *::before, .pinto *::after{ box-sizing: border-box; }
.pinto svg{ display: block; }

/* The bird */
.pinto-bird{ position: relative; display: block; width: 84px; height: 103px; padding: 0; border: 0; background: none; cursor: pointer; filter: drop-shadow(0 4px 8px rgba(0,0,0,.18)); transition: transform .2s; }
.pinto-bird:hover{ transform: translateY(-3px) rotate(-2deg); }
.pinto-bird:focus-visible{ outline: 3px solid var(--pt-red); outline-offset: 2px; border-radius: 12px; }
.pinto-art, .pinto-art svg{ width: 100%; height: 100%; }
.pinto-badge{ position: absolute; top: 18px; right: 2px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: var(--pt-red); color: #fff; font-size: 12px; font-weight: 700; line-height: 22px; text-align: center; box-shadow: 0 0 0 2px #fff; }
.pinto.is-open .pinto-bird{ transform: scale(.9); }

/* Poses in motion */
.pinto .pinto-wing{ transform-box: view-box; transform-origin: 665px 655px; }
.pinto .pinto-wing-l{ transform-box: view-box; transform-origin: 341px 655px; }
.pinto.pose-wave .pinto-wing{ animation: pinto-wave 1.1s ease-in-out 3; }
.pinto.pose-wave .pinto-waves{ animation: pinto-blink 1.1s ease-in-out 3; }
.pinto.pose-letter .pinto-letter{ transform-box: view-box; animation: pinto-letter 2.4s ease-in-out infinite; }
.pinto.pose-cheer .pinto-art{ animation: pinto-hop .5s ease-out 3; }
.pinto.pose-cheer .pinto-wing{ animation: pinto-flap .25s ease-in-out 6 alternate; }
.pinto.pose-cheer .pinto-wing-l{ animation: pinto-flap-l .25s ease-in-out 6 alternate; }
.pinto.pose-cheer .pinto-confetti{ animation: pinto-confetti 1.2s ease-out; }
.pinto .pinto-eyes{ transform-box: view-box; transform-origin: 503px 420px; animation: pinto-eyes 6s infinite; }
@keyframes pinto-wave{ 0%,100%{ transform: rotate(0); } 50%{ transform: rotate(14deg); } }
@keyframes pinto-blink{ 0%,100%{ opacity: 1; } 50%{ opacity: .2; } }
@keyframes pinto-letter{ 0%,100%{ transform: translateY(0); } 50%{ transform: translateY(-14px); } }
@keyframes pinto-hop{ 0%,100%{ transform: translateY(0); } 40%{ transform: translateY(-12px); } }
@keyframes pinto-flap{ to{ transform: rotate(-12deg); } }
@keyframes pinto-flap-l{ to{ transform: rotate(12deg); } }
@keyframes pinto-confetti{ from{ transform: translateY(40px); opacity: 0; } to{ transform: none; opacity: 1; } }
@keyframes pinto-eyes{ 0%,96%,100%{ transform: scaleY(1); } 98%{ transform: scaleY(.1); } }

/* The speech bubble next to him */
.pinto-teaser{ position: absolute; right: 88px; bottom: 58px; width: max-content; max-width: 250px; padding: 10px 30px 10px 13px; border-radius: 14px 14px 4px 14px; background: #fff; border: 1px solid var(--pt-line); box-shadow: 0 8px 24px rgba(0,0,0,.14); cursor: pointer; animation: pinto-pop .3s ease-out; }
.pinto-teaser[hidden]{ display: none; }
.pinto-teaser p{ margin: 0; font-size: 13.5px; }
.pinto-x{ position: absolute; top: 5px; right: 5px; width: 20px; height: 20px; padding: 3px; border: 0; border-radius: 50%; background: none; color: var(--pt-muted); cursor: pointer; }
.pinto-x:hover{ background: var(--pt-bg); }
.pinto-x svg, .pinto-close svg{ width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; }
@keyframes pinto-pop{ from{ transform: translateY(8px) scale(.96); opacity: 0; } to{ transform: none; opacity: 1; } }

/* The panel */
.pinto-panel{ position: absolute; right: 0; bottom: 104px; width: 370px; height: min(600px, calc(100vh - 140px)); display: flex; flex-direction: column; background: #fff; border: 1px solid var(--pt-line); border-radius: 14px; box-shadow: 0 18px 50px rgba(0,0,0,.22); overflow: hidden; animation: pinto-pop .22s ease-out; }
.pinto-panel[hidden]{ display: none; }
.pinto-panel header{ display: flex; align-items: center; gap: 10px; padding: 9px 10px 9px 12px; background: var(--pt-grey); color: #fff; }
.pinto-avatar{ flex: 0 0 38px; width: 38px; height: 38px; border-radius: 50%; background: #fff; overflow: hidden; }
.pinto-avatar svg{ width: 100%; height: 100%; }
.pinto-panel header div{ flex: 1; min-width: 0; }
.pinto-panel header b{ display: block; font-size: 15px; }
.pinto-panel header small{ display: block; font-size: 12px; opacity: .8; }
.pinto-close{ width: 30px; height: 30px; padding: 6px; border: 0; border-radius: 6px; background: none; color: #fff; cursor: pointer; }
.pinto-close:hover{ background: rgba(255,255,255,.14); }
.pinto-log{ flex: 1; overflow-y: auto; padding: 12px 12px 4px; background: var(--pt-bg); overscroll-behavior: contain; }
.pinto-msg{ display: flex; flex-direction: column; margin: 0 0 10px; }
.pinto-msg.is-me{ align-items: flex-end; }
.pinto-bubble{ max-width: 88%; padding: 8px 11px; border-radius: 12px 12px 12px 4px; background: #fff; border: 1px solid var(--pt-line); }
.pinto-msg.is-me .pinto-bubble{ border-radius: 12px 12px 4px 12px; background: var(--pt-grey); border-color: var(--pt-grey); color: #fff; }
.pinto-acts{ display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.pinto-btn{ display: inline-flex; align-items: center; gap: 5px; padding: 5px 11px; border-radius: 999px; border: 1px solid var(--pt-red); background: #fff; color: var(--pt-red); font: inherit; font-size: 13px; font-weight: 600; text-decoration: none !important; cursor: pointer; }
.pinto-btn:hover{ background: var(--pt-red); color: #fff; }
.pinto-btn svg{ width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.pinto-btn.is-primary{ background: var(--pt-red); color: #fff; justify-content: center; padding: 8px 14px; }
.pinto-btn.is-primary:hover{ background: var(--pt-red-dark); border-color: var(--pt-red-dark); }
.pinto-btn:disabled{ opacity: .5; cursor: default; }
.pinto-chips{ display: flex; gap: 6px; padding: 8px 10px; overflow-x: auto; border-top: 1px solid var(--pt-line); background: #fff; scrollbar-width: none; }
.pinto-chips::-webkit-scrollbar{ display: none; }
.pinto-chips:empty{ display: none; }
.pinto-chip{ flex: 0 0 auto; padding: 5px 11px; border-radius: 999px; border: 1px solid var(--pt-line); background: var(--pt-bg); color: var(--pt-ink); font: inherit; font-size: 12.5px; cursor: pointer; white-space: nowrap; }
.pinto-chip:hover{ border-color: var(--pt-red); color: var(--pt-red); }
.pinto-chip.is-lead{ background: var(--pt-tint); border-color: var(--pt-red); color: var(--pt-red); font-weight: 700; }
.pinto-ask{ display: flex; gap: 6px; padding: 8px 10px 10px; background: #fff; }
.pinto-ask input{ flex: 1; min-width: 0; height: 38px; padding: 0 12px; border: 1px solid var(--pt-line); border-radius: 999px; font: inherit; font-size: 14px; color: var(--pt-ink); background: var(--pt-bg); }
.pinto-ask input:focus{ outline: none; border-color: var(--pt-red); background: #fff; }
.pinto-ask button{ flex: 0 0 38px; height: 38px; padding: 9px; border: 0; border-radius: 50%; background: var(--pt-red); color: #fff; cursor: pointer; }
.pinto-ask button svg{ width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }

/* Reminders */
.pinto-rem{ list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.pinto-rem li{ position: relative; display: flex; gap: 9px; padding: 9px 28px 9px 10px; background: #fff; border: 1px solid var(--pt-line); border-left: 3px solid var(--pt-muted); border-radius: 8px; transition: opacity .25s, transform .25s; }
.pinto-rem li.is-urgent{ border-left-color: var(--pt-red); }
.pinto-rem li.is-todo{ border-left-color: #D9920B; }
.pinto-rem li.is-tip{ border-left-color: var(--pt-green); }
.pinto-rem li.is-gone{ opacity: 0; transform: translateX(20px); }
.pinto-rem-ic{ flex: 0 0 28px; width: 28px; height: 28px; padding: 6px; border-radius: 50%; background: var(--pt-bg); color: var(--pt-grey); }
.pinto-rem li.is-urgent .pinto-rem-ic{ background: var(--pt-tint); color: var(--pt-red); }
.pinto-rem-ic svg{ width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.pinto-rem p{ margin: 0 0 5px; font-size: 13.5px; }
.pinto-rem-at{ display: flex; align-items: center; gap: 4px; margin: -2px 0 6px; font-size: 11.5px; color: var(--pt-muted); }
.pinto-rem-at svg{ width: 12px; height: 12px; }
.pinto-rem .pinto-btn{ padding: 3px 10px; font-size: 12.5px; }
.pinto-snooze{ position: absolute; top: 6px; right: 6px; width: 20px; height: 20px; padding: 4px; border: 0; border-radius: 50%; background: none; color: #9A9BA0; cursor: pointer; }
.pinto-snooze:hover{ background: var(--pt-bg); color: var(--pt-ink); }
.pinto-snooze svg{ width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; }

/* The visitor's form */
.pinto-lead{ display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 6px; padding: 10px; background: #fff; border: 1px solid var(--pt-line); border-radius: 10px; }
.pinto-lead label{ display: flex; flex-direction: column; gap: 3px; font-size: 12px; font-weight: 700; color: var(--pt-muted); }
.pinto-lead label.is-wide, .pinto-lead .pinto-err, .pinto-lead .pinto-btn{ grid-column: 1 / -1; }
.pinto-lead label em{ font-weight: 400; font-style: normal; }
.pinto-lead input, .pinto-lead select, .pinto-lead textarea{ width: 100%; min-width: 0; padding: 6px 8px; border: 1px solid #CFD0D5; border-radius: 6px; font: inherit; font-size: 13.5px; font-weight: 400; color: var(--pt-ink); background: #fff; }
.pinto-lead input:focus, .pinto-lead select:focus, .pinto-lead textarea:focus{ outline: none; border-color: var(--pt-red); box-shadow: 0 0 0 2px var(--pt-tint); }
.pinto-err{ margin: 0; color: var(--pt-red); font-size: 12.5px; font-weight: 600; }
.pinto-err[hidden]{ display: none; }

/* Typing */
.pinto-typing{ display: inline-flex; gap: 4px; padding: 3px 0; }
.pinto-typing i{ width: 7px; height: 7px; border-radius: 50%; background: #A7A8AD; animation: pinto-dot 1s infinite; }
.pinto-typing i:nth-child(2){ animation-delay: .15s; } .pinto-typing i:nth-child(3){ animation-delay: .3s; }
@keyframes pinto-dot{ 0%,60%,100%{ transform: none; opacity: .5; } 30%{ transform: translateY(-4px); opacity: 1; } }

/* Quiet pages (the counter): a smaller bird */
.pinto.is-quiet .pinto-bird{ width: 56px; height: 69px; }
.pinto.is-quiet .pinto-badge{ top: 8px; right: -4px; }
.pinto.is-quiet .pinto-panel{ bottom: 72px; }

@media (max-width: 560px){
  .pinto{ right: 8px; bottom: 6px; }
  .pinto-bird{ width: 62px; height: 76px; }
  .pinto-badge{ top: 10px; right: -2px; }
  .pinto-teaser{ right: 66px; bottom: 40px; max-width: 200px; }
  .pinto-panel{ position: fixed; left: 8px; right: 8px; bottom: 86px; width: auto; height: min(560px, calc(100vh - 110px)); }
  .pinto.is-quiet .pinto-panel{ bottom: 72px; }
  .pinto-lead{ grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce){ .pinto *, .pinto{ animation: none !important; transition: none !important; } }
@media print{ .pinto{ display: none !important; } }

/* Pages that also have the roster's round assistant button: it sits above Pinto, not under him */
body:has(.pinto) .bot-fab{ bottom:124px; right:26px; }
body:has(.pinto) .bot-panel{ bottom:188px; }
@media (max-width:560px){ body:has(.pinto) .bot-fab{ bottom:96px; right:16px; } body:has(.pinto) .bot-panel{ bottom:160px; } }

/* ---- Pinto dresses for the season (html[data-season]); drawings sit over his picture ---- */
.pinto-art{ position: relative; }
:root[data-season] .pinto-art::before, :root[data-season] .pinto-art::after{ content: ""; position: absolute; pointer-events: none; background: no-repeat center / contain; }
/* Winter and year-end: a woolly red hat and a scarf */
:root[data-season="winter"] .pinto-art::before{ left: 21%; top: 5%; width: 52%; height: 28%; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20100%2070%27%3E%3Cpath%20d%3D%27M14%2052C22%2022%2050%204%2078%2010c9%202%2014%208%2012%2016-10-3-20%203-24%2014l20%2012z%27%20fill%3D%27%23C62834%27%2F%3E%3Cpath%20d%3D%27M30%2030c10-8%2022-12%2034-12%27%20stroke%3D%27%239A1B26%27%20stroke-width%3D%273%27%20fill%3D%27none%27%20opacity%3D%27.5%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2747%27%20width%3D%2784%27%20height%3D%2717%27%20rx%3D%278.5%27%20fill%3D%27%23fff%27%2F%3E%3Ccircle%20cx%3D%2789%27%20cy%3D%2726%27%20r%3D%279%27%20fill%3D%27%23fff%27%2F%3E%3C%2Fsvg%3E"); transform: rotate(-6deg); }
:root[data-season="winter"] .pinto-art::after{ left: 25%; top: 45%; width: 46%; height: 15%; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20100%2044%27%3E%3Crect%20x%3D%272%27%20y%3D%274%27%20width%3D%2796%27%20height%3D%2717%27%20rx%3D%278.5%27%20fill%3D%27%23C62834%27%2F%3E%3Cpath%20d%3D%27M58%2014h17v27H58z%27%20fill%3D%27%23C62834%27%2F%3E%3Cpath%20d%3D%27M58%2031h17M58%2036h17%27%20stroke%3D%27%23F2CF6B%27%20stroke-width%3D%272.5%27%2F%3E%3Cpath%20d%3D%27M18%2012.5h9M42%2012.5h9M80%2012.5h9%27%20stroke%3D%27%23F2CF6B%27%20stroke-width%3D%273%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E"); }
/* Festive: a marigold garland and a tilak */
:root[data-season="festive"] .pinto-art::before{ left: 42.5%; top: 26.5%; width: 5%; height: 7.5%; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2030%27%3E%3Cpath%20d%3D%27M10%202C14%2010%2015%2018%2010%2028%205%2018%206%2010%2010%202z%27%20fill%3D%27%23D62828%27%2F%3E%3Ccircle%20cx%3D%2710%27%20cy%3D%2720%27%20r%3D%273%27%20fill%3D%27%23F2A516%27%2F%3E%3C%2Fsvg%3E"); }
:root[data-season="festive"] .pinto-art::after{ left: 24%; top: 46%; width: 48%; height: 22%; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20100%2046%27%3E%3Cpath%20d%3D%27M4%206Q50%2058%2096%206%27%20fill%3D%27none%27%20stroke%3D%27%232E7D32%27%20stroke-width%3D%272%27%2F%3E%3Ccircle%20cx%3D%274%27%20cy%3D%276%27%20r%3D%276%27%20fill%3D%27%23F28C0F%27%2F%3E%3Ccircle%20cx%3D%274%27%20cy%3D%276%27%20r%3D%272.2%27%20fill%3D%27%23C2410C%27%2F%3E%3Ccircle%20cx%3D%2711.7%27%20cy%3D%2713.9%27%20r%3D%276%27%20fill%3D%27%23FFC53D%27%2F%3E%3Ccircle%20cx%3D%2711.7%27%20cy%3D%2713.9%27%20r%3D%272.2%27%20fill%3D%27%23F28C0F%27%2F%3E%3Ccircle%20cx%3D%2719.3%27%20cy%3D%2720.4%27%20r%3D%276%27%20fill%3D%27%23F28C0F%27%2F%3E%3Ccircle%20cx%3D%2719.3%27%20cy%3D%2720.4%27%20r%3D%272.2%27%20fill%3D%27%23C2410C%27%2F%3E%3Ccircle%20cx%3D%2727%27%20cy%3D%2725.5%27%20r%3D%276%27%20fill%3D%27%23FFC53D%27%2F%3E%3Ccircle%20cx%3D%2727%27%20cy%3D%2725.5%27%20r%3D%272.2%27%20fill%3D%27%23F28C0F%27%2F%3E%3Ccircle%20cx%3D%2734.7%27%20cy%3D%2729.1%27%20r%3D%276%27%20fill%3D%27%23F28C0F%27%2F%3E%3Ccircle%20cx%3D%2734.7%27%20cy%3D%2729.1%27%20r%3D%272.2%27%20fill%3D%27%23C2410C%27%2F%3E%3Ccircle%20cx%3D%2742.3%27%20cy%3D%2731.3%27%20r%3D%276%27%20fill%3D%27%23FFC53D%27%2F%3E%3Ccircle%20cx%3D%2742.3%27%20cy%3D%2731.3%27%20r%3D%272.2%27%20fill%3D%27%23F28C0F%27%2F%3E%3Ccircle%20cx%3D%2750%27%20cy%3D%2732%27%20r%3D%276%27%20fill%3D%27%23F28C0F%27%2F%3E%3Ccircle%20cx%3D%2750%27%20cy%3D%2732%27%20r%3D%272.2%27%20fill%3D%27%23C2410C%27%2F%3E%3Ccircle%20cx%3D%2757.7%27%20cy%3D%2731.3%27%20r%3D%276%27%20fill%3D%27%23FFC53D%27%2F%3E%3Ccircle%20cx%3D%2757.7%27%20cy%3D%2731.3%27%20r%3D%272.2%27%20fill%3D%27%23F28C0F%27%2F%3E%3Ccircle%20cx%3D%2765.3%27%20cy%3D%2729.1%27%20r%3D%276%27%20fill%3D%27%23F28C0F%27%2F%3E%3Ccircle%20cx%3D%2765.3%27%20cy%3D%2729.1%27%20r%3D%272.2%27%20fill%3D%27%23C2410C%27%2F%3E%3Ccircle%20cx%3D%2773%27%20cy%3D%2725.5%27%20r%3D%276%27%20fill%3D%27%23FFC53D%27%2F%3E%3Ccircle%20cx%3D%2773%27%20cy%3D%2725.5%27%20r%3D%272.2%27%20fill%3D%27%23F28C0F%27%2F%3E%3Ccircle%20cx%3D%2780.7%27%20cy%3D%2720.4%27%20r%3D%276%27%20fill%3D%27%23F28C0F%27%2F%3E%3Ccircle%20cx%3D%2780.7%27%20cy%3D%2720.4%27%20r%3D%272.2%27%20fill%3D%27%23C2410C%27%2F%3E%3Ccircle%20cx%3D%2788.3%27%20cy%3D%2713.9%27%20r%3D%276%27%20fill%3D%27%23FFC53D%27%2F%3E%3Ccircle%20cx%3D%2788.3%27%20cy%3D%2713.9%27%20r%3D%272.2%27%20fill%3D%27%23F28C0F%27%2F%3E%3Ccircle%20cx%3D%2796%27%20cy%3D%276%27%20r%3D%276%27%20fill%3D%27%23F28C0F%27%2F%3E%3Ccircle%20cx%3D%2796%27%20cy%3D%276%27%20r%3D%272.2%27%20fill%3D%27%23C2410C%27%2F%3E%3Ccircle%20cx%3D%2750%27%20cy%3D%2738%27%20r%3D%274%27%20fill%3D%27%23E4572E%27%2F%3E%3C%2Fsvg%3E"); }

/* the bird steps aside smoothly when a button is under it (pinto.js dodge) */
.pinto{ transition: bottom .25s ease; }

/* ---- Pinto's outfits for the other seasons ---- */
:root[data-season="summer"] .pinto-art::before{ left:20%;top:9%;width:54%;height:33%; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20100%2090%27%3E%3Cellipse%20cx%3D%2748%27%20cy%3D%2734%27%20rx%3D%2744%27%20ry%3D%279%27%20fill%3D%27%23E9B44C%27%2F%3E%3Cpath%20d%3D%27M22%2033c2-18%2012-26%2026-26s24%208%2026%2026z%27%20fill%3D%27%23F5C96A%27%2F%3E%3Crect%20x%3D%2723%27%20y%3D%2724%27%20width%3D%2750%27%20height%3D%277%27%20fill%3D%27%23F2545B%27%2F%3E%3Ccircle%20cx%3D%2733%27%20cy%3D%2770%27%20r%3D%279.5%27%20fill%3D%27%2312302F%27%2F%3E%3Ccircle%20cx%3D%2759%27%20cy%3D%2770%27%20r%3D%279.5%27%20fill%3D%27%2312302F%27%2F%3E%3Cpath%20d%3D%27M42%2069h8%27%20stroke%3D%27%2312302F%27%20stroke-width%3D%273%27%2F%3E%3Ccircle%20cx%3D%2730%27%20cy%3D%2767%27%20r%3D%272.5%27%20fill%3D%27%23fff%27%20opacity%3D%27.6%27%2F%3E%3Ccircle%20cx%3D%2756%27%20cy%3D%2767%27%20r%3D%272.5%27%20fill%3D%27%23fff%27%20opacity%3D%27.6%27%2F%3E%3C%2Fsvg%3E"); }
:root[data-season="summer"] .pinto-art::after{ content: none; }
:root[data-season="monsoon"] .pinto-art::before{ left:16%;top:-4%;width:62%;height:27%; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20100%2060%27%3E%3Cpath%20d%3D%27M4%2034C8%2014%2028%204%2050%204s42%2010%2046%2030c-6-5-12-5-16%200-5-5-11-5-15%200-5-5-11-5-15%200-5-5-11-5-15%200-5-5-11-5-15%200-4-5-10-5-16%200z%27%20fill%3D%27%230E8FB8%27%2F%3E%3Cpath%20d%3D%27M50%204v4%27%20stroke%3D%27%230A6E8E%27%20stroke-width%3D%273%27%2F%3E%3Cpath%20d%3D%27M50%2034v18c0%205-6%205-6%200%27%20fill%3D%27none%27%20stroke%3D%27%231F3B4D%27%20stroke-width%3D%273%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E"); }
:root[data-season="monsoon"] .pinto-art::after{ left:24%;top:44%;width:48%;height:13%; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20100%2030%27%3E%3Cpath%20d%3D%27M4%206h92l-10%2020H14z%27%20fill%3D%27%23F6C71E%27%2F%3E%3Cpath%20d%3D%27M40%206l10%2016%2010-16%27%20fill%3D%27%23E0A800%27%2F%3E%3C%2Fsvg%3E"); }
:root[data-season="sports"] .pinto-art::before{ left:26%;top:22.5%;width:42%;height:6.5%; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20100%2016%27%3E%3Crect%20x%3D%272%27%20y%3D%272%27%20width%3D%2796%27%20height%3D%2712%27%20rx%3D%276%27%20fill%3D%27%23E0312D%27%2F%3E%3Crect%20x%3D%272%27%20y%3D%277%27%20width%3D%2796%27%20height%3D%272.5%27%20fill%3D%27%23fff%27%2F%3E%3C%2Fsvg%3E"); }
:root[data-season="sports"] .pinto-art::after{ left:35%;top:45%;width:24%;height:24%; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2050%2050%27%3E%3Cpath%20d%3D%27M8%200l17%2024L42%200h-9L25%2013%2017%200z%27%20fill%3D%27%231B3478%27%2F%3E%3Ccircle%20cx%3D%2725%27%20cy%3D%2734%27%20r%3D%2712%27%20fill%3D%27%23F5C518%27%2F%3E%3Ccircle%20cx%3D%2725%27%20cy%3D%2734%27%20r%3D%277%27%20fill%3D%27%23FFE27A%27%2F%3E%3Cpath%20d%3D%27M25%2029l1.6%203.4%203.7.4-2.8%202.5.8%203.6-3.3-1.9-3.3%201.9.8-3.6-2.8-2.5%203.7-.4z%27%20fill%3D%27%23C99700%27%2F%3E%3C%2Fsvg%3E"); }
:root[data-season="health"] .pinto-art::before{ left:26%;top:21%;width:42%;height:10%; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20100%2024%27%3E%3Crect%20x%3D%272%27%20y%3D%2710%27%20width%3D%2796%27%20height%3D%279%27%20rx%3D%274.5%27%20fill%3D%27%237DD3FC%27%2F%3E%3Cpath%20d%3D%27M60%2012c4-9%2014-12%2022-10-1%209-9%2014-18%2013%27%20fill%3D%27%234CAF6A%27%2F%3E%3Cpath%20d%3D%27M62%2013c5-4%2010-6%2016-7%27%20stroke%3D%27%232F7D4A%27%20stroke-width%3D%271.2%27%20fill%3D%27none%27%2F%3E%3C%2Fsvg%3E"); }
:root[data-season="health"] .pinto-art::after{ left:41%;top:54%;width:12%;height:10%; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2030%2026%27%3E%3Cpath%20d%3D%27M15%2025C3%2017%200%2011%202%206c2-5%209-6%2013%200%204-6%2011-5%2013%200%202%205-1%2011-13%2019z%27%20fill%3D%27%23F08A4B%27%2F%3E%3Cpath%20d%3D%27M7%2012h4l2-4%203%208%202-4h5%27%20fill%3D%27none%27%20stroke%3D%27%23fff%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E"); }
:root[data-season="foody"] .pinto-art::before{ left:25%;top:1%;width:44%;height:25%; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20100%2080%27%3E%3Ccircle%20cx%3D%2730%27%20cy%3D%2730%27%20r%3D%2718%27%20fill%3D%27%23fff%27%20stroke%3D%27%23C9B09A%27%20stroke-width%3D%273%27%2F%3E%3Ccircle%20cx%3D%2750%27%20cy%3D%2722%27%20r%3D%2720%27%20fill%3D%27%23fff%27%20stroke%3D%27%23C9B09A%27%20stroke-width%3D%273%27%2F%3E%3Ccircle%20cx%3D%2770%27%20cy%3D%2730%27%20r%3D%2718%27%20fill%3D%27%23fff%27%20stroke%3D%27%23C9B09A%27%20stroke-width%3D%273%27%2F%3E%3Crect%20x%3D%2718%27%20y%3D%2734%27%20width%3D%2764%27%20height%3D%2730%27%20fill%3D%27%23fff%27%20stroke%3D%27%23C9B09A%27%20stroke-width%3D%273%27%2F%3E%3Crect%20x%3D%2718%27%20y%3D%2760%27%20width%3D%2764%27%20height%3D%2714%27%20rx%3D%273%27%20fill%3D%27%23F3EDE6%27%20stroke%3D%27%23E8D0BD%27%20stroke-width%3D%272%27%2F%3E%3Cpath%20d%3D%27M36%2040v18M50%2038v20M64%2040v18%27%20stroke%3D%27%23EFE6DC%27%20stroke-width%3D%273%27%2F%3E%3C%2Fsvg%3E"); }
:root[data-season="foody"] .pinto-art::after{ left:29%;top:45%;width:38%;height:15%; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20100%2040%27%3E%3Cpath%20d%3D%27M4%204h92L50%2038z%27%20fill%3D%27%23E03E2D%27%2F%3E%3Ccircle%20cx%3D%2750%27%20cy%3D%278%27%20r%3D%276%27%20fill%3D%27%23B42E20%27%2F%3E%3Ccircle%20cx%3D%2730%27%20cy%3D%2712%27%20r%3D%272.5%27%20fill%3D%27%23fff%27%20opacity%3D%27.8%27%2F%3E%3Ccircle%20cx%3D%2768%27%20cy%3D%2712%27%20r%3D%272.5%27%20fill%3D%27%23fff%27%20opacity%3D%27.8%27%2F%3E%3Ccircle%20cx%3D%2750%27%20cy%3D%2724%27%20r%3D%272.5%27%20fill%3D%27%23fff%27%20opacity%3D%27.8%27%2F%3E%3C%2Fsvg%3E"); }
:root[data-season="automobile"] .pinto-art::before{ left:22%;top:12%;width:52%;height:17%; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20100%2034%27%3E%3Cpath%20d%3D%27M18%2028C18%2012%2030%203%2048%203s30%209%2030%2025z%27%20fill%3D%27%23111827%27%2F%3E%3Cpath%20d%3D%27M78%2024h20c0%205-3%208-8%208H70z%27%20fill%3D%27%23EF4444%27%2F%3E%3Cpath%20d%3D%27M30%2020h36%27%20stroke%3D%27%23EF4444%27%20stroke-width%3D%274%27%2F%3E%3Ccircle%20cx%3D%2748%27%20cy%3D%275%27%20r%3D%273%27%20fill%3D%27%23FBBF24%27%2F%3E%3C%2Fsvg%3E"); }
:root[data-season="automobile"] .pinto-art::after{ left:25%;top:45%;width:46%;height:10%; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20100%2020%27%3E%3Cdefs%3E%3Cpattern%20id%3D%27c%27%20width%3D%2710%27%20height%3D%2710%27%20patternUnits%3D%27userSpaceOnUse%27%3E%3Crect%20width%3D%275%27%20height%3D%275%27%20fill%3D%27%23111827%27%2F%3E%3Crect%20x%3D%275%27%20y%3D%275%27%20width%3D%275%27%20height%3D%275%27%20fill%3D%27%23111827%27%2F%3E%3Crect%20x%3D%275%27%20width%3D%275%27%20height%3D%275%27%20fill%3D%27%23fff%27%2F%3E%3Crect%20y%3D%275%27%20width%3D%275%27%20height%3D%275%27%20fill%3D%27%23fff%27%2F%3E%3C%2Fpattern%3E%3C%2Fdefs%3E%3Crect%20x%3D%272%27%20y%3D%272%27%20width%3D%2796%27%20height%3D%2716%27%20rx%3D%278%27%20fill%3D%27url%28%23c%29%27%2F%3E%3C%2Fsvg%3E"); }

/* Admin panel (2026-09-30): the small bird, room under the last rows so nothing stays hidden under
   him, and the back-to-top arrow beside him instead of underneath. */
body:has(.pinto.is-quiet) .main-content{ padding-bottom:96px; }
body:has(.pinto) #back-to-top{ right:84px !important; bottom:16px !important; }
/* No clear spot beside a column of buttons: the bird tucks into the edge, half see-through, and
   comes back out on hover, focus or when his panel is open (pinto.js dodge). */
.pinto{ transition: bottom .25s ease, transform .25s ease, opacity .25s ease; }
.pinto.is-tucked{ transform: translateX(62%); opacity: .55; }
.pinto.is-tucked:hover, .pinto.is-tucked:focus-within, .pinto.is-tucked.is-open{ transform: none; opacity: 1; }

/* Visitors (pinto.js d.simple): details only — no question box, no question chips. */
.pinto.is-simple .pinto-ask{ display: none; }

/* Landing page (data-attract): Pinto flies in from the right, bobs while waiting, hops with each new
   invitation, and a soft glow ring pulses behind him. Off for people who prefer less motion (rule above). */
.pinto.is-attract .pinto-bird{ width: 104px; height: 128px; animation: pinto-bob 2.6s ease-in-out infinite; }
.pinto.is-attract .pinto-bird::before{ content: ''; position: absolute; left: 50%; top: 58%; width: 96px; height: 96px; margin: -48px 0 0 -48px; border-radius: 50%;
  background: radial-gradient(circle, rgba(215,40,47,.28) 0%, rgba(215,40,47,0) 70%); animation: pinto-glow 2.6s ease-in-out infinite; z-index: -1; }
.pinto.is-attract.is-arriving .pinto-bird{ animation: pinto-fly-in 1.4s cubic-bezier(.2,.8,.3,1) both; }
.pinto.is-attract.is-arriving .pinto-wing{ animation: pinto-flap .18s ease-in-out 8 alternate; }
.pinto.is-attract.is-arriving .pinto-wing-l{ animation: pinto-flap-l .18s ease-in-out 8 alternate; }
.pinto.is-attract.is-hop .pinto-art{ animation: pinto-hop .55s ease-out 2; }
.pinto.is-attract.is-open .pinto-bird, .pinto.is-attract.is-open .pinto-bird::before{ animation: none; }
.pinto.is-attract .pinto-teaser{ right: 108px; bottom: 74px; max-width: 270px; font-size: 14.5px; }
@keyframes pinto-bob{ 0%,100%{ transform: translateY(0) rotate(0); } 50%{ transform: translateY(-7px) rotate(-2deg); } }
@keyframes pinto-glow{ 0%,100%{ transform: scale(.85); opacity: .55; } 50%{ transform: scale(1.15); opacity: 1; } }
@keyframes pinto-fly-in{ 0%{ transform: translate(160px, -240px) rotate(18deg) scale(.6); opacity: 0; } 60%{ transform: translate(-12px, 8px) rotate(-6deg) scale(1.05); opacity: 1; } 100%{ transform: none; } }
@media (max-width: 640px){ .pinto.is-attract .pinto-bird{ width: 78px; height: 96px; } .pinto.is-attract .pinto-teaser{ right: 82px; bottom: 54px; max-width: 210px; font-size: 13.5px; } }
