/* "You're in" pop-up on the comparison pages — same type and colours as the page (Inter, Newsreader, JetBrains Mono; BizBaby red on cream). */
.cf-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.cf-note { margin-top: 8px; font: 500 12.5px/1.4 Inter, sans-serif; color: #F7A3B3; }
.ed-prep .cf-note, .dir .cf-note { color: #C22F4A; }
html.cf-lock { overflow: hidden; }
.cf-modal { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 16px; box-sizing: border-box;
  background: rgba(27, 21, 17, .55); opacity: 0; transition: opacity .2s ease; overflow-y: auto; }
.cf-modal[hidden] { display: none; }
.cf-modal.on { opacity: 1; }
.cf-card { position: relative; width: 100%; max-width: 520px; max-height: calc(100vh - 32px); overflow-y: auto; box-sizing: border-box; background: #FFFDFB; border: 1px solid #EAE2D6;
  border-top: 4px solid #DB3A57; border-radius: 16px; padding: 28px 28px 22px; box-shadow: 0 30px 80px -30px rgba(27, 21, 17, .55);
  font: 400 14px/1.5 Inter, system-ui, sans-serif; color: #1B1511; transform: translateY(12px) scale(.98); transition: transform .35s cubic-bezier(.2, .8, .2, 1); }
.cf-modal.on .cf-card { transform: none; }
.cf-x { position: absolute; top: 14px; right: 14px; width: 34px; height: 34px; border: 1px solid #EAE2D6; border-radius: 10px; background: #fff; color: #6E6660; display: grid; place-items: center; cursor: pointer; }
.cf-x:hover { color: #1B1511; border-color: #C4BAAD; }
.cf-x svg { width: 15px; height: 15px; }
.cf-eyebrow { font: 700 11px/1.6 'JetBrains Mono', monospace; letter-spacing: .14em; text-transform: uppercase; color: #6E6660; }
.cf-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #DB3A57; margin-right: 8px; vertical-align: 0; box-shadow: 0 0 0 3px #FFF1F5; }
.cf-title { margin: 8px 0 6px; font: 700 40px/1.05 Newsreader, Georgia, serif; letter-spacing: -.02em; color: #1B1511; }
.cf-lede { margin: 0; font-size: 15px; color: #4A423C; }
.cf-lede b { color: #1B1511; font-weight: 600; word-break: break-all; }
.cf-sep { height: 1px; background: #EAE2D6; margin: 20px 0 18px; }
.cf-h4 { margin: 0; font: 800 18px/1.25 Inter, sans-serif; letter-spacing: -.01em; }
.cf-sub { margin: 4px 0 14px; color: #6E6660; }
.cf-form { margin: 0; }
.cf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cf-field { display: block; margin-bottom: 12px; min-width: 0; }
.cf-field > span:first-child { display: block; margin-bottom: 5px; font: 700 9.5px/1.4 'JetBrains Mono', monospace; letter-spacing: .1em; text-transform: uppercase; color: #6E6660; }
.cf-field input { width: 100%; box-sizing: border-box; height: 44px; padding: 0 12px; font: 400 15px Inter, sans-serif; color: #1B1511; background: #fff;
  border: 1px solid #EAE2D6; border-radius: 10px; outline: none; transition: border-color .15s, box-shadow .15s; }
.cf-field input:focus { border-color: #DB3A57; box-shadow: 0 0 0 3px #FFF1F5; }
.cf-pass { position: relative; display: block; }
.cf-pass input { padding-right: 46px; }
.cf-eye { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 34px; height: 34px; border: 0; background: none; color: #A39B93; display: grid; place-items: center; cursor: pointer; border-radius: 8px; }
.cf-eye:hover { color: #1B1511; }
.cf-eye svg { width: 18px; height: 18px; }
.cf-eye .cf-eye-off, .cf-eye.on .cf-eye-on { display: none; }
.cf-eye.on .cf-eye-off { display: block; }
.cf-rules { list-style: none; margin: -2px 0 12px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 14px; font: 400 11px/1.5 'JetBrains Mono', monospace; color: #A39B93; }
.cf-rules li::before { content: "○"; margin-right: 6px; }
.cf-rules li.ok { color: #2FBF71; } .cf-rules li.ok::before { content: "●"; }
.cf-terms { margin: 0 0 14px; font-size: 12.5px; color: #6E6660; }
.cf-terms a, .cf-login a { color: #C22F4A; text-underline-offset: 2px; }
.cf-errors { margin-bottom: 12px; padding: 10px 12px; border-radius: 10px; background: #FFF1F5; border: 1px solid #F6CCD6; color: #C22F4A; font-size: 13px; }
.cf-errors[hidden] { display: none; }
.cf-errors p { margin: 0; } .cf-errors p + p { margin-top: 4px; }
.cf-actions { display: flex; gap: 10px; align-items: center; }
.cf-btn { height: 46px; padding: 0 18px; border-radius: 10px; font: 600 15px Inter, sans-serif; cursor: pointer; border: 1px solid transparent; }
.cf-btn-primary { flex: 1; background: #DB3A57; color: #fff; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 4px 12px -4px rgba(219, 58, 87, .55); }
.cf-btn-primary:hover { background: #C22F4A; }
.cf-btn-primary:disabled { opacity: .6; cursor: progress; }
.cf-btn-ghost { background: #fff; border-color: #EAE2D6; color: #4A423C; }
.cf-btn-ghost:hover { border-color: #C4BAAD; color: #1B1511; }
.cf-login { margin: 12px 0 0; text-align: center; font-size: 13px; color: #6E6660; }
@media (max-width: 520px) {
  .cf-card { padding: 22px 18px 18px; border-radius: 14px; }
  .cf-title { font-size: 34px; }
  .cf-row { grid-template-columns: 1fr; gap: 0; }
  .cf-actions { flex-direction: column-reverse; align-items: stretch; }
}
/* phone menu: the header's ☰ button opens the same links */
.hd { position: relative; }
@media (max-width: 1023px) {
  .hd.open nav { display: flex; flex-direction: column; gap: 4px; position: absolute; top: 100%; left: 0; right: 0; z-index: 60; margin: 0; padding: 10px 16px 14px;
    background: #FAF7F2; border-bottom: 1px solid #EAE2D6; box-shadow: 0 18px 30px -20px rgba(27, 21, 17, .35); }
  .hd.open nav a { padding: 10px 0; font-size: 16px; border-bottom: 1px solid #F1EBE1; }
  .hd.open nav a:last-child { border-bottom: 0; }
}
/* follow box: trade, email and button each on their own full-width row */
#follow .ed-inline-form { flex-direction: column; align-items: stretch; gap: 10px; }
#follow .ed-inline-form .ed-input, #follow .ed-inline-form .zipf { width: 100%; max-width: none; flex: none; height: 46px; }
#follow .ed-inline-form .ed-btn { width: 100%; height: 48px; justify-content: center; gap: 8px; }
#follow .ed-inline-form .ed-btn svg { width: 17px; height: 17px; }
