/* Top signup card (.so-card) and mobile sticky bar (.so-bar). Design Desk, Oct 22 2026. growth/SIGNUP-DESIGN/SPEC-NOTES.md
   Brand tokens only: ink #2A3A2A text, paper #FFFBF3 ground, hunter #2F5D3A CTA, mustard #D9A441 badge.
   Square corners. The card is quieter than the page lead: paper ground, 1px rule, heading one step below the h1. */
.so-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:2.5rem;align-items:center;margin:3rem 0 2.5rem;padding:2.25rem 2.25rem 1.9rem;background:#FFFBF3;border:1px solid #2A3A2A;border-radius:0;color:#2A3A2A}
.so-card *{border-radius:0}
/* One approved stamp, plain ink, breaking past the top edge. Never two. */
.so-stamp{position:absolute;top:-40px;right:-18px;width:auto;height:96px;max-width:120px;transform:rotate(-7deg);pointer-events:none}
.so-text{min-width:0}
.so-badge{display:inline-block;margin:0 0 .7rem;padding:.12rem .55rem;background:#D9A441;color:#2A3A2A;font-family:"EB Garamond",Georgia,serif;font-weight:600;font-size:1rem;line-height:1.35;letter-spacing:0;text-transform:none}
.so-card .so-h,.so-sheet .so-h{margin:0 0 .5rem;font-family:"EB Garamond",Georgia,serif;font-weight:600;font-size:1.75rem;line-height:1.18;letter-spacing:0;text-transform:none;color:#2A3A2A;text-wrap:balance}
.so-body{margin:0;max-width:40ch;font-size:1.15rem;line-height:1.45;color:#2A3A2A;text-wrap:pretty}
.so-form{margin:0;padding-top:1.4rem}
.so-lbl{display:block;margin:0 0 .35rem;font-weight:600;font-size:1.05rem;color:#2A3A2A}
.so-form .row{display:flex;gap:0;margin:0}
.so-form .row input{flex:1;min-width:0;min-height:48px;margin:0;padding:.6rem .85rem;font:inherit;font-size:max(16px,1.08rem);background:#fff;color:#2A3A2A;border:1px solid #2A3A2A;border-right:0;border-radius:0}
.so-form .row button{flex:none;min-height:48px;margin:0;padding:0 1.15rem;font-family:"EB Garamond",Georgia,serif;font-weight:600;font-size:1.12rem;letter-spacing:0;text-transform:none;background:#2F5D3A;color:#FFFBF3;border:1px solid #2F5D3A;border-radius:0;cursor:pointer;white-space:nowrap}
.so-form .row button:hover{background:#2A3A2A;border-color:#2A3A2A}
.so-form .row button:focus-visible,.so-form .row input:focus-visible,.so-bar a:focus-visible,.so-bar button:focus-visible,.so-close:focus-visible{outline:3px solid #D9A441;outline-offset:2px}
.so-form .consent{display:flex;gap:.5rem;align-items:flex-start;margin:.7rem 0 0;font-size:1.02rem;line-height:1.35;color:#2A3A2A}
.so-form .consent input{margin:.2rem 0 0;width:18px;height:18px;flex:none;accent-color:#2F5D3A}
.so-form .fine{margin:.55rem 0 0;font-size:.98rem;line-height:1.4;color:#33413A}
.so-form .fine a{color:#2A3A2A}
.so-form .form-msg:empty{display:none}
.so-form .form-msg{margin:.5rem 0 0;font-size:1.02rem}
.so-card:target,.so-card.so-flash{outline:2px solid #2F5D3A;outline-offset:4px}
@media (max-width:820px){
  .so-card{grid-template-columns:minmax(0,1fr);gap:0;margin:2.75rem 0 2rem;padding:1.4rem 1.1rem 1.2rem}
  .so-stamp{top:-34px;right:8px;width:auto;height:72px;max-width:84px}
  .so-card .so-h{font-size:1.45rem;max-width:calc(100% - 64px)}
  .so-body{font-size:1.1rem}
  .so-form{padding-top:1rem}
  .so-form .row{flex-direction:column}
  .so-form .row input{border-right:1px solid #2A3A2A;border-bottom:0}
  .so-form .row button{min-height:50px}
}

/* Sticky bar: mobile only, sits on top of the quick-links bar, never over content.
   site.js-independent: signup-offers.js shows it only when no signup form and no FTC label is in its zone. */
.so-bar,.so-sheet{display:none}
.so-bar[hidden]{display:none}
@media (max-width:820px){
  html.so-bar-on body{padding-bottom:calc(60px + 52px + env(safe-area-inset-bottom))}
  .so-bar{display:flex;position:fixed;left:0;right:0;bottom:calc(60px + env(safe-area-inset-bottom));z-index:29;height:52px;background:#2F5D3A;color:#FFFBF3;border-top:1px solid #2A3A2A;transition:transform .18s ease,opacity .18s ease}
  .so-bar[hidden]{display:flex;transform:translateY(100%);opacity:0;visibility:hidden;pointer-events:none}
  .so-bar-go{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:0 .5rem 0 1rem;color:#FFFBF3;text-decoration:none;font-family:"EB Garamond",Georgia,serif}
  .so-bar-line{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.1rem;font-weight:600}
  .so-bar-btn{flex:none;padding:.3rem .8rem;background:#D9A441;color:#2A3A2A;font-weight:600;font-size:1.05rem;line-height:1.3}
  .so-bar-x{flex:none;width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:transparent;color:#FFFBF3;border:0;border-left:1px solid rgba(255,251,243,.35);border-radius:0;cursor:pointer;padding:0}
  .so-sheet{display:block;position:fixed;inset:0;z-index:40;background:rgba(42,58,42,.55)}
  .so-sheet[hidden]{display:none}
  .so-sheet-in{position:absolute;left:0;right:0;bottom:0;max-height:90vh;overflow:auto;padding:1.6rem 1.1rem calc(1.4rem + env(safe-area-inset-bottom));background:#FFFBF3;border-top:1px solid #2A3A2A;color:#2A3A2A}
  .so-sheet .so-h{font-size:1.45rem;max-width:calc(100% - 52px)}
  .so-close{position:absolute;top:.6rem;right:.6rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid #2A3A2A;border-radius:0;color:#2A3A2A;cursor:pointer;padding:0}
}
@media (prefers-reduced-motion:reduce){.so-bar{transition:none}}
@media print{.so-bar,.so-sheet,.so-card{display:none!important}}

/* Free download pages (/free/placement-pack/, /free/black-friday-cheat-sheet/) and /thanks/ */
.fp{max-width:62rem;margin:0 0 3rem}
.fp-head{position:relative;border-top:2px solid #2A3A2A;padding:1rem 0 0 0;margin:1.2rem 0 2rem}
.fp-head h1,.fp-thanks h1{margin:.1rem 0 .5rem;font-family:"EB Garamond",Georgia,serif;font-weight:600;color:#2A3A2A;text-wrap:balance}
.fp-head .lede{max-width:66ch;margin:0}
.fp-head h1{max-width:calc(100% - 8rem)}
.fp-stamp{position:absolute;top:-34px;right:0;width:112px;height:auto;transform:rotate(-6deg);pointer-events:none}
.fp-print{margin:1rem 0 0}
.fp-print .button{border-radius:0}
.fp-sec{margin:2.6rem 0 0}
.fp-sec h2{margin:0 0 .8rem;font-family:"EB Garamond",Georgia,serif;font-weight:600;font-size:1.75rem;line-height:1.2;color:#2A3A2A}
.fp-sec>p{max-width:66ch}
.fp-steps,.fp-tips{max-width:66ch;margin:0;padding-left:1.4rem}
.fp-steps li,.fp-tips li{margin:0 0 .55rem;line-height:1.45}
.fp-scroll{overflow-x:auto;border-top:1px solid #2A3A2A}
.fp-table{width:100%;border-collapse:collapse;font-size:1.05rem;line-height:1.4;color:#2A3A2A}
.fp-table th,.fp-table td{text-align:left;vertical-align:top;padding:.6rem .7rem .6rem 0;border-bottom:1px solid #DDD1BA}
.fp-table thead th{font-weight:600;border-bottom:1px solid #2A3A2A;white-space:nowrap}
.fp-table tbody th{font-weight:600;min-width:9rem}
.fp-table a{color:#2A3A2A}
.fp-dense{font-size:1rem}
.fp-close{margin:2.4rem 0 .4rem;font-size:1.3rem;max-width:50ch}
.fp-foot{max-width:66ch}
.fp-thanks{position:relative;max-width:44rem;margin:2.5rem 0 3rem;padding:2rem 9rem 2rem 0;border-top:2px solid #2A3A2A}
.fp-thanks .fp-stamp{top:-30px}
.fp-thanks .fine{font-size:1.02rem;color:#33413A}
@media (max-width:820px){
  .fp-head h1{max-width:calc(100% - 5rem)}.fp-stamp{width:76px;top:-24px}
  .fp-thanks{padding-right:5rem}
  .fp-table thead{display:none}
  .fp-table,.fp-table tbody,.fp-table tr,.fp-table th,.fp-table td{display:block;width:100%}
  .fp-table tr{padding:.7rem 0;border-bottom:1px solid #DDD1BA}
  .fp-table th,.fp-table td{border:0;padding:.1rem 0}
  .fp-table td::before{content:attr(data-h) ": ";font-weight:600}
  .fp-scroll{overflow:visible}
}
@media print{
  .site-header,.site-footer,.bottom-bar,.crumbs,.sale-strip,.fp-print,.skip{display:none!important}
  body{background:#fff;font-size:10.5pt}
  .fp-table{font-size:9pt}.fp-table th,.fp-table td{padding:.25rem .4rem .25rem 0}
  .fp-sec{margin-top:1.2rem;break-inside:auto}.fp-sec h2{font-size:14pt}
  .fp-table a{text-decoration:none}
}
.fp-thanks .button{background:#2F5D3A;color:#FFFBF3;border:1px solid #2F5D3A;border-radius:0}.fp-thanks .button:hover{background:#2A3A2A}
