/* The /pulse page: the free-account, Pulse and contribution cards in one row, Sign in and the language switch at the top right, and for a
   signed-in reader or member their email switches. pulse-page.js draws the markup and the Worker
   (servePulse) swaps it into pulse.html; the site's own tokens (--page, --paper, --ink, --muted, --line, --accent, --f-*) come from style.css.
   Every rule starts with .pl-page so it wins over style.css's ".content p / h3 / ul" rules without !important. */
.content.pl-page{max-width:1240px}
.pl-page>*{max-width:720px}
.pl-page>.pl-row,.pl-page>.pl-top{max-width:none}
.pl-page{--pl-deep:#0c1911;--pl-deep-ink:#f1ede1;--pl-deep-line:#2c4a39;--pl-mint:#62cd91;--pl-mint-ink:#07110b;--pl-gold:#c9a227;--pl-free:var(--paper);--pl-field:#fffdf7;--pl-check:#1f6b45}
html[data-theme="dark"] .pl-page{--pl-free:#1b1f1c;--pl-field:#101211;--pl-check:#50956b}

/* anchors (#pulse, #free, #signin, #support, #gift) land clear of the sticky bar */
.pl-page [id]{scroll-margin-top:72px}

/* the back link (a 44px target here; style.css draws it small for the pages that keep it as a plain line) */
.pl-page .back-link{display:inline-flex;align-items:center;min-height:44px;margin-bottom:0}

/* kicker and language switch */
.pl-page .pl-top{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap}
.pl-page .pl-top .back-link{margin:0}
.pl-page>.kicker{margin-top:6px}
.pl-page .pl-lang{display:flex;align-items:center;gap:0;font:600 14px var(--f-ui);color:var(--muted)}
.pl-page .pl-lang a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;color:var(--muted);text-decoration:none}
.pl-page .pl-lang a:hover{color:var(--accent)}
.pl-page .pl-lang a[aria-current]{color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:5px}
.pl-page .pl-lang a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.pl-page .pl-lead{margin:0 0 26px;max-width:62ch;font:400 17px/1.55 var(--f-body);color:var(--ink)}

/* messages (sign-in sent, gift, contribution, welcome) */
.pl-page .pl-flash{margin:0 0 16px;padding:10px 14px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:4px;background:var(--paper);color:var(--ink);font:400 15px/1.45 var(--f-ui)}
.pl-page .pl-flash--ok{border-left-color:var(--pl-check)}
.pl-page .pl-card--pulse .pl-flash{background:rgba(255,255,255,.08);border-color:var(--pl-deep-line);border-left-color:var(--pl-mint);color:var(--pl-deep-ink)}

/* the two cards: Pulse is first in the page and on a phone; on a wide screen the free card goes on the left */
.pl-page .pl-row{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;align-items:start;margin:0 0 34px}
.pl-page .pl-card{display:flex;flex-direction:column;gap:12px;min-width:0;padding:22px 20px 20px;border:1px solid var(--line);border-radius:6px;background:var(--pl-free);color:var(--ink)}
.pl-page .pl-card--pulse{background:var(--pl-deep);color:var(--pl-deep-ink);border-color:var(--pl-deep-line)}
.pl-page .pl-card p{margin:0}
.pl-page .pl-card strong{color:inherit}
.pl-page .pl-tags{display:flex;justify-content:space-between;gap:8px;font:700 11px/1.2 var(--f-ui);letter-spacing:.1em;opacity:.85}
.pl-page .pl-card .pl-name{margin:0;font:700 28px/1.1 var(--f-head);letter-spacing:-.2px;color:inherit}
.pl-page .pl-price{font:400 15px/1.45 var(--f-ui);color:inherit;opacity:.94}
.pl-page .pl-perks{display:flex;flex-direction:column;gap:7px;margin:2px 0 0;padding:0;list-style:none;font:400 15px/1.4 var(--f-ui);color:inherit}
.pl-page .pl-perks li{position:relative;margin:0;padding-left:22px}
.pl-page .pl-perks li::before{content:"✓";position:absolute;left:0;top:0;font-weight:700;color:var(--pl-check)}
.pl-page .pl-card--pulse .pl-perks li::before{color:var(--pl-mint)}
.pl-page .pl-fine{font:400 13px/1.45 var(--f-ui);color:inherit;opacity:.88}
.pl-page .pl-link{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.pl-page .pl-linkrow .pl-link{display:inline-flex;align-items:center;min-height:44px}
.pl-page .pl-address{overflow-wrap:anywhere}

.pl-page .pl-cancel{margin:4px 0 0;font:600 14px/1.4 var(--f-ui);color:inherit}

/* the Pulse plan buttons (Checkout forms) */
.pl-page .pl-plans{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.pl-page .pl-plans form{margin:0}
.pl-page .pl-plan{display:flex;flex-direction:column;align-items:stretch;gap:3px;width:100%;min-height:56px;padding:12px;border:1px solid var(--pl-deep-line);border-radius:6px;background:rgba(255,255,255,.08);color:var(--pl-deep-ink);font-family:var(--f-ui);text-align:left;cursor:pointer;transition:background .15s ease}
.pl-page .pl-plan:hover{background:rgba(255,255,255,.15)}
.pl-page .pl-plan--best{border-color:transparent;background:var(--pl-mint);color:var(--pl-mint-ink)}
.pl-page .pl-plan--best:hover{background:#7ad9a4}
.pl-page .pl-gold{align-self:flex-start;margin-bottom:4px;padding:4px 8px;border-radius:2px;background:var(--pl-gold);color:#0c1911;font:700 12px/1 var(--f-ui);letter-spacing:.04em;text-transform:uppercase}
.pl-page .pl-plan-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px}
.pl-page .pl-plan-name{font-weight:700;font-size:16px}
.pl-page .pl-plan-price{font:700 21px var(--f-head)}
.pl-page .pl-plan-price small{font:500 13px var(--f-ui);opacity:.8}
.pl-page .pl-plan-note{font-size:13px;opacity:.88;text-wrap:balance}
.pl-page .pl-plan-ars{font-size:15px;font-weight:600;line-height:1.3}
.pl-page .pl-ars{display:block;margin-top:4px;font-weight:600;text-wrap:balance}
.pl-page .pl-plan:focus-visible,.pl-page .pl-card--pulse .pl-link:focus-visible,.pl-page .pl-card--pulse .pl-btn:focus-visible{outline:3px solid var(--pl-mint);outline-offset:2px}

/* the free-account form */
.pl-page .pl-form{display:flex;flex-direction:column;gap:10px;margin:6px 0 0}
.pl-page .pl-input{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--pl-field);color:var(--ink);font:16px var(--f-ui)}
.pl-page .pl-input::placeholder{color:var(--muted);opacity:.85}
.pl-page .pl-input:focus-visible,.pl-page .pl-btn:focus-visible,.pl-page .pl-card--free .pl-link:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.pl-page .pl-btn{min-height:48px;padding:10px 16px;border:1px solid var(--pl-deep);border-radius:6px;background:var(--pl-deep);color:var(--pl-deep-ink);font:700 15px var(--f-ui);text-align:center;cursor:pointer;transition:background .15s ease}
.pl-page .pl-btn:hover{background:#17301f}
html[data-theme="dark"] .pl-page .pl-card--free .pl-btn{border-color:var(--pl-deep-line)}
.pl-page .pl-btn--ghost{background:transparent;border-color:var(--pl-deep-line)}
.pl-page .pl-btn--ghost:hover{background:rgba(255,255,255,.1)}

/* the Pulse member's card */
.pl-page .pl-plan-box{display:flex;flex-direction:column;gap:4px;margin:4px 0;padding:12px 14px;border:1px solid var(--pl-deep-line);border-radius:6px;background:rgba(255,255,255,.06)}
.pl-page .pl-plan-box dt{font:700 11px/1.2 var(--f-ui);letter-spacing:.1em;text-transform:uppercase;opacity:.8}
.pl-page .pl-plan-box dd{margin:0;font:600 17px/1.35 var(--f-ui)}
.pl-page .pl-plan-box dd.pl-plan-status{font:400 14px/1.45 var(--f-ui);opacity:.94}
.pl-page .pl-manage{margin:0}
.pl-page .pl-links{display:flex;flex-wrap:wrap;gap:0 20px;margin:4px 0 0;padding:0;list-style:none;color:inherit;font:600 15px/1.4 var(--f-ui)}
.pl-page .pl-links li{margin:0}
.pl-page .pl-links .pl-link{display:inline-flex;align-items:center;min-height:44px}

/* the one-time contribution card */
.pl-page .pl-card--support{border-top:3px solid var(--pl-gold)}
.pl-page .pl-amounts{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}
.pl-page .pl-amounts .share-btn{flex:1 1 0;min-width:0;padding-inline:10px}
.pl-page .pl-amount-input{flex:1 1 140px;min-width:0;min-height:44px;padding:9px 11px;border:1px solid var(--line);border-radius:4px;background:var(--pl-field);color:var(--ink);font:16px var(--f-ui)}
.pl-page .pl-amounts .pl-amount-input+.share-btn{flex:0 0 auto;padding-inline:16px}

/* Sign in, top right: a button that opens the form under it */
.pl-page .pl-top-r{display:flex;align-items:center;gap:6px 10px;margin-left:auto}

/* the email switches */
.pl-page .pl-emails{display:flex;flex-direction:column;gap:12px;margin:4px 0 0;padding-top:16px;border-top:1px solid var(--line)}
.pl-page .pl-card--emails .pl-emails{margin:0;padding:0;border:0}
.pl-page .pl-sub{margin:0;font:700 12px/1.2 var(--f-ui);letter-spacing:.1em;text-transform:uppercase;color:inherit;opacity:.85}
.pl-page .pl-card--emails .pl-sub{font:700 28px/1.1 var(--f-head);letter-spacing:-.2px;text-transform:none;opacity:1}
.pl-page .pl-switch{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:start;cursor:pointer}
.pl-page .pl-switch input{position:absolute;top:0;left:0;width:46px;height:28px;margin:0;opacity:0;cursor:pointer}
.pl-page .pl-switch-track{position:relative;width:46px;height:28px;border-radius:999px;background:var(--line);transition:background .2s ease}
.pl-page .pl-switch-track::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .2s ease}
.pl-page .pl-switch input:checked+.pl-switch-track{background:var(--pl-check)}
.pl-page .pl-switch input:checked+.pl-switch-track::after{transform:translateX(18px)}
.pl-page .pl-switch input:focus-visible+.pl-switch-track{outline:3px solid var(--accent);outline-offset:2px}
.pl-page .pl-switch-text{display:flex;flex-direction:column;gap:2px;padding-top:2px;font:400 14px/1.4 var(--f-ui)}
.pl-page .pl-switch-text strong{font-size:15px}
.pl-page .pl-switch-text small{font-size:13px;opacity:.85}
.pl-page .pl-btn--save{align-self:flex-start;min-height:44px;padding:8px 24px}
.pl-page .pl-emails .pl-flash{margin:0}

/* Two across from 760px (the contribution card under them), three across from 1100px */
@media(min-width:760px){
  .pl-page .pl-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .pl-page .pl-row .pl-card--free{order:-1}
  .pl-page .pl-row .pl-card--support{grid-column:1/-1}
}
@media(min-width:1100px){
  .pl-page .pl-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pl-page .pl-row .pl-card--support{grid-column:auto}
  /* everything in one screen on a laptop: a tighter heading, the lead on one line, the two plans side by side */
  .content.pl-page{margin-top:22px}
  .pl-page>h2{margin:4px 0 8px}
  .pl-page .pl-lead{max-width:none;margin:0 0 20px}
  .pl-page .pl-card{gap:10px;padding:20px 20px 18px}
  .pl-page .pl-perks{gap:5px}
  .pl-page .pl-plans{flex-direction:row;align-items:stretch}
  .pl-page .pl-plans form{flex:1 1 0;min-width:0;display:flex}
  .pl-page .pl-plans .pl-plan{height:100%}
  .pl-page .pl-plan-row{flex-direction:column;align-items:flex-start;gap:0}
}
@media(prefers-reduced-motion:reduce){
  .pl-page .pl-plan,.pl-page .pl-btn,.pl-page .pl-switch-track,.pl-page .pl-switch-track::after{transition:none}
}
