/* ===========================================================
   TABSEND: signup, sign-in and account pages
   Loaded after styles.css and built from its tokens. The price
   ticket from the landing page is the object these pages are
   about: you fill it in to start, it is stamped with your plan,
   and its body holds the one action that plan needs next.
   =========================================================== */

/* The hidden sprite of shared icons. A class, not a style attribute: the CSP allows no inline styles. */
.sprite{position:absolute}

/* ---------- nav on these pages ---------- */
.nav__out{
  margin:0 0 17px auto;flex:none;font-size:15.5px;font-weight:600;color:#E2D8C4;
  background:none;border:none;padding:0;cursor:pointer;font-family:var(--sans);
  text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(226,216,196,.45);text-decoration-thickness:1.5px;
}
.nav__out:hover{color:var(--ochre);text-decoration-color:var(--ochre)}
@media (max-width:900px){.nav__out{display:none}}
.strip--pages .strip__tab{text-decoration:none}

/* ---------- page head on the desk ---------- */
.acct-head{padding:clamp(36px,4.4vw,64px) 0 clamp(26px,3vw,40px)}
.acct-head .h1{font-size:clamp(34px,4.1vw,58px);max-width:20ch}
.acct-head__who{font-size:17px;color:var(--on-desk-2);display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline}
.acct-head__who b{color:var(--on-desk);font-weight:650}
.acct-head__who button{
  font-family:var(--sans);font-size:17px;color:var(--on-desk);background:none;border:none;padding:0;cursor:pointer;
  text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(243,232,210,.5);text-decoration-thickness:1.5px;
}
.acct-head__who button:hover{color:var(--ochre);text-decoration-color:var(--ochre)}

/* ---------- the plan ticket ---------- */
.plan{padding-bottom:clamp(60px,7vw,104px);overflow-x:clip}
.pass{
  --stub:var(--ochre);--stub-ink:var(--ink);--stamp:var(--blue);
  display:grid;grid-template-columns:220px 1fr;position:relative;
  background:var(--paper);color:var(--ink);border:2px solid var(--ink);border-radius:8px;box-shadow:var(--shadow-lg);
}
.pass[data-tone="red"]{--stub:var(--red);--stub-ink:#FFF6EE;--stamp:var(--red)}
.pass[data-tone="green"]{--stub:var(--green);--stub-ink:#FFF6EE;--stamp:var(--green)}
.pass[data-tone="kraft"]{--stub:var(--kraft);--stub-ink:var(--ink);--stamp:var(--ink)}
.pass__stub{
  background:var(--stub);color:var(--stub-ink);border-radius:6px 0 0 6px;
  padding:30px 24px;display:flex;flex-direction:column;justify-content:center;gap:6px;
  border-right:2px dashed color-mix(in srgb,var(--stub-ink) 45%,transparent);
  transition:background .3s ease,color .3s ease;
}
.pass__fig{font-size:clamp(60px,6vw,84px);font-weight:800;font-stretch:112%;line-height:.88;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.pass__fig--word{font-size:clamp(40px,3.8vw,52px);line-height:.95}
.pass__per{font-size:18px;font-weight:650;line-height:1.3;max-width:12ch}
.pass__body{padding:30px 32px 30px;position:relative;min-width:0}
.pass__name{font-size:23px;font-weight:780;font-stretch:104%;margin-bottom:16px;padding-right:150px}
.pass__rows{margin:0 0 24px;display:grid;grid-template-columns:auto 1fr;gap:10px 22px}
.pass__rows dt{font-size:16.5px;font-weight:700;color:var(--ink);padding-top:1px}
.pass__rows dd{margin:0;font-size:17.5px;line-height:1.5;color:var(--ink-2);max-width:52ch}
.pass__rows dd b{color:var(--ink);font-weight:700}
.pass__act{border-top:2px dashed rgba(23,20,15,.3);padding-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.pass__note{font-size:16px;color:var(--ink-2);max-width:40ch}
/* Two ways to pay, side by side on the tear line: yearly and lifetime (layout B, owner 2026-10-21). */
.choose{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%}
.choice{background:#FFFDF6;border:var(--rule);border-radius:6px;box-shadow:var(--shadow-sm);padding:16px 16px 18px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.choice__p{font-size:24px;font-weight:800;color:var(--ink);line-height:1.1}
.choice__p small{font-size:16px;font-weight:600}
.choice__n{font-size:15.5px;color:var(--ink-2);margin:0 0 8px;line-height:1.45}
.choice .btn{margin-top:auto}
@media (max-width:560px){.choose{grid-template-columns:minmax(0,1fr)}}
.linkbtn{
  font-family:var(--sans);font-size:17px;font-weight:650;color:var(--ink);background:none;border:none;padding:4px 0;cursor:pointer;
  text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px;text-decoration-color:rgba(23,20,15,.45);
}
.linkbtn:hover{text-decoration-color:var(--red);color:#A92A10}

/* the rubber stamp: a drawn object, so it says the plan in capitals like a real one */
.stamp{
  position:absolute;top:22px;right:26px;pointer-events:none;
  color:var(--stamp);border:3px solid currentColor;border-radius:6px;padding:3px;
  transform:rotate(-7deg);transform-origin:center;
}
.stamp span{
  display:block;border:1.5px solid currentColor;border-radius:3px;padding:5px 12px 4px;
  font-size:17px;font-weight:850;font-stretch:118%;letter-spacing:.06em;line-height:1;white-space:nowrap;text-transform:uppercase;
}
.stamp.is-landing{animation:stamp-in .42s cubic-bezier(.2,.9,.25,1) both}
.pass.is-thump{animation:thump .42s ease-out both}
@keyframes stamp-in{
  0%{opacity:0;transform:rotate(-16deg) scale(1.9)}
  55%{opacity:1;transform:rotate(-6deg) scale(.94)}
  100%{opacity:1;transform:rotate(-7deg) scale(1)}
}
@keyframes thump{0%,45%{transform:none}58%{transform:translate(1px,2px)}100%{transform:none}}

@media (max-width:720px){
  .pass{grid-template-columns:1fr}
  .pass__stub{border-right:none;border-bottom:2px dashed color-mix(in srgb,var(--stub-ink) 45%,transparent);border-radius:6px 6px 0 0;flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:6px 14px;padding:22px 22px 20px}
  .pass__per{max-width:none}
  .pass__body{padding:24px 20px 24px}
  .pass__name{padding-right:0;padding-top:30px}
  .pass--gate .pass__name{padding-top:0}
  .stamp{top:-14px;right:14px;background:var(--paper)}
  .pass__rows{grid-template-columns:1fr;gap:2px}
  .pass__rows dd{margin-bottom:10px}
  .pass__act .btn{width:100%}
}

/* ---------- section heads inside bands ---------- */
.sec-hd{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 24px;margin-bottom:clamp(22px,2.6vw,34px)}
.sec-hd .h2{margin:0}
.sec-hd p{font-size:17.5px;color:var(--ink-2);max-width:50ch}
.band:not(.band--paper) .sec-hd p{color:var(--on-desk-2)}

/* ---------- pairing ---------- */
.pairing{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:start}
@media (max-width:920px){.pairing{grid-template-columns:minmax(0,1fr)}}

.firstpair{
  background:var(--paper-hi);color:var(--ink);border:2px solid var(--ink);border-radius:8px;box-shadow:var(--shadow);
  position:relative;padding:30px 28px 28px;
}
.firstpair::before{content:"";position:absolute;left:-2px;right:-2px;top:-2px;height:8px;background:var(--ochre);border:2px solid var(--ink);border-bottom:none;border-radius:8px 8px 0 0}
.firstpair__grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:26px;align-items:start}
@media (max-width:620px){.firstpair__grid{grid-template-columns:minmax(0,1fr)}.firstpair{padding:26px 20px 22px}.firstpair__qr{width:168px}}
.firstpair__qr{background:#fff;border:2px solid var(--ink);border-radius:6px;padding:12px;width:188px}
.firstpair__qr svg{width:100%;height:auto;color:var(--ink)}
.firstpair.is-off .firstpair__grid,.firstpair.is-off .linkfield,.firstpair.is-off .firstpair__fine{display:none}
.firstpair__qr p{font-size:15px;text-align:center;margin-top:8px;color:var(--ink-2)}
.firstpair__t{font-size:23px;font-weight:780;font-stretch:104%;margin-bottom:12px}
.firstpair ol{margin:0;padding:0;list-style:none;counter-reset:fp;display:flex;flex-direction:column;gap:10px}
.firstpair li{counter-increment:fp;position:relative;padding-left:40px;font-size:17.5px;line-height:1.5;color:var(--ink-2)}
.firstpair li b{color:var(--ink)}
.firstpair li::before{
  content:counter(fp);position:absolute;left:0;top:-1px;width:28px;height:28px;border-radius:50%;
  background:var(--ink);color:var(--paper);font-size:15px;font-weight:800;display:grid;place-items:center;
}
.linkfield{display:flex;gap:8px;align-items:stretch;margin-top:22px}
.linkfield code{
  flex:1;min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  background:var(--paper);border:2px solid var(--ink);border-radius:5px;padding:12px 12px;font-size:16px;color:var(--ink);
}
.linkfield .btn{padding:10px 16px;font-size:16px;flex:none}
.linkfield .btn svg{width:18px;height:18px}
.firstpair__fine{font-size:16px;line-height:1.55;color:var(--ink-2);margin-top:14px;max-width:60ch}
.firstpair__fine b{color:var(--ink)}
.firstpair__fine .linkbtn{font-size:16px;padding:0}

.joined{background:var(--paper-hi);color:var(--ink);border:2px solid var(--ink);border-radius:8px;box-shadow:var(--shadow);padding:28px 28px 26px;position:relative}
.joined::before{content:"";position:absolute;left:-2px;right:-2px;top:-2px;height:8px;background:var(--moss);border:2px solid var(--ink);border-bottom:none;border-radius:8px 8px 0 0}
.joined__t{font-size:23px;font-weight:780;font-stretch:104%;margin-bottom:12px;display:flex;align-items:center;gap:10px}
.joined__t svg{width:26px;height:26px;color:var(--green);flex:none}
.joined p{font-size:17.5px;line-height:1.55;color:var(--ink-2);max-width:56ch}
.joined p+p{margin-top:12px}
.joined p b{color:var(--ink)}
.firstpair .warn{margin:0;font-size:17px;font-weight:600}
.joined .warn{border-top:1.5px solid #D9CDB1;padding-top:14px;margin-top:16px;font-size:16.5px}

.sees{background:var(--kraft);color:var(--ink);border:2px solid var(--ink);border-radius:8px;box-shadow:var(--shadow);padding:24px 22px 24px}
.sees__t{font-size:21px;font-weight:780;margin-bottom:8px}
.sees>p{font-size:16.5px;line-height:1.55;color:var(--ink-2);margin-bottom:16px}
.sees .ledger{box-shadow:none}

/* ---------- payments ---------- */
.pay{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:start}
@media (max-width:920px){.pay{grid-template-columns:minmax(0,1fr)}}
.receipts{background:var(--paper);color:var(--ink);border:2px solid var(--ink);border-radius:8px;box-shadow:var(--shadow);overflow:hidden}
.receipts table{width:100%;border-collapse:collapse;font-size:17px}
.receipts caption{text-align:left;font-size:21px;font-weight:780;padding:22px 22px 12px}
.receipts th{text-align:left;font-size:15px;font-weight:700;color:var(--ink-2);padding:8px 22px;border-bottom:2px solid var(--ink)}
.receipts td{padding:14px 22px;border-bottom:1.5px solid #D9CDB1;color:var(--ink);vertical-align:baseline}
.receipts tr:last-child td{border-bottom:none}
.receipts .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.receipts td:first-child{white-space:nowrap;font-variant-numeric:tabular-nums}
.receipts a{font-weight:650;text-underline-offset:3px;text-decoration-thickness:1.5px}
.receipts a:hover{color:#A92A10}
.receipts .bad{color:#A92A10;font-weight:700}
.receipts__empty{padding:4px 22px 24px;font-size:17.5px;line-height:1.55;color:var(--ink-2);max-width:48ch}
@media (max-width:560px){
  .receipts th:nth-child(2),.receipts td:nth-child(2){display:none}
  .receipts td,.receipts th{padding-left:16px;padding-right:16px}
}

.card-on-file{background:var(--kraft);color:var(--ink);border:2px solid var(--ink);border-radius:8px;box-shadow:var(--shadow);padding:22px 22px 24px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.card-on-file__t{font-size:21px;font-weight:780}
.card-on-file p{font-size:16.5px;line-height:1.55;color:var(--ink-2)}
.card-on-file p b{color:var(--ink)}
.cardchip{display:inline-flex;align-items:center;gap:10px;background:var(--paper-hi);border:1.5px solid var(--ink);border-radius:6px;padding:8px 12px;font-size:17px;font-weight:650;font-variant-numeric:tabular-nums}
.cardchip i{width:34px;height:22px;border:1.5px solid var(--ink);border-radius:3px;background:linear-gradient(var(--ink) 0 0) 0 5px/100% 3px no-repeat,var(--kraft)}

/* ---------- your account ---------- */
.acct{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:start;max-width:1040px}
@media (max-width:860px){.acct{grid-template-columns:minmax(0,1fr)}}
.acct__card{background:var(--paper-hi);color:var(--ink);border:2px solid var(--ink);border-radius:8px;box-shadow:var(--shadow);padding:24px 24px 26px}
.acct__card h3{font-size:21px;font-weight:780;margin:0 0 6px}
.acct__card>p{font-size:17px;line-height:1.55;color:var(--ink-2);margin-bottom:16px}
.acct__email{font-size:19px;font-weight:700;color:var(--ink);overflow-wrap:anywhere}

.danger{background:var(--paper-hi);color:var(--ink);border:2px solid var(--ink);border-radius:8px;box-shadow:var(--shadow)}
.danger summary{list-style:none;cursor:pointer;padding:22px 56px 22px 24px;position:relative;font-size:21px;font-weight:780}
.danger summary::-webkit-details-marker{display:none}
.danger summary small{display:block;font-size:16.5px;font-weight:400;color:var(--ink-2);margin-top:4px;line-height:1.45}
.danger .faq__ic{position:absolute;right:20px;top:24px;width:30px;height:30px;padding:5px;border:2px solid var(--ink);border-radius:50%;fill:none;stroke:var(--ink);stroke-width:2.6;stroke-linecap:round}
.danger[open] .faq__v{opacity:0}
.danger__in{padding:0 24px 24px;border-top:2px dashed rgba(23,20,15,.25);margin:0 0 0;padding-top:18px}
.danger__in ul{margin:0 0 16px;padding:0 0 0 20px;font-size:16.5px;line-height:1.55;color:var(--ink-2);display:flex;flex-direction:column;gap:6px}
.danger__in ul b{color:var(--ink)}
.danger__in label{display:block;font-size:16.5px;font-weight:650;margin-bottom:8px}
.danger__in .signup__row .btn{background:var(--red);color:#FFF6EE}
.danger__note{font-size:15.5px;margin-top:10px;color:var(--ink-2)}
.danger__note.is-bad{color:#A92A10;font-weight:650}

/* ---------- the signup and sign-in pages ---------- */
.gate{padding:clamp(36px,4.6vw,72px) 0 clamp(60px,7vw,104px)}
.gate__grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-template-areas:"say pass" "more pass";
  grid-template-rows:auto 1fr;column-gap:clamp(28px,5vw,72px);align-items:start;
}
.gate__say{grid-area:say}
.gate__more{grid-area:more}
.gate__grid>.pass{grid-area:pass}
@media (max-width:960px){
  .gate__grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"say" "pass" "more";max-width:680px}
  .gate__more{margin-top:40px}
}
.gate .h1{max-width:14ch}
.gate .lede{margin-bottom:28px}
.next{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-direction:column;gap:18px;counter-reset:nx;max-width:46ch}
.next li{counter-increment:nx;position:relative;padding-left:52px;font-size:17.5px;line-height:1.5;color:var(--on-desk-2)}
.next li b{display:block;color:var(--on-desk);font-size:19px;font-weight:700;margin-bottom:2px}
.next li::before{
  content:counter(nx);position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;
  background:var(--c,var(--red));color:#FFF6EE;border:2px solid var(--ink);font-size:17px;font-weight:800;display:grid;place-items:center;box-shadow:var(--shadow-sm);
}
.next li:nth-child(2)::before{background:var(--ochre);color:var(--ink)}
.next li:nth-child(3)::before{background:var(--moss)}
.gate__alt{font-size:17px;color:var(--on-desk-2)}
.gate__alt a{color:var(--on-desk);text-underline-offset:4px;text-decoration-thickness:1.5px;text-decoration-color:rgba(243,232,210,.5)}
.gate__alt a:hover{color:var(--ochre);text-decoration-color:var(--ochre)}
.gate__alt+.gate__alt{margin-top:8px}

.pass--gate{grid-template-columns:172px 1fr}
.pass--gate .pass__stub{padding:28px 22px}
.pass--gate .pass__body{padding:30px 30px 30px}
.pass--gate .pass__name{padding-right:0;margin-bottom:6px}
.pass--gate .ticket__list{margin:14px 0 22px}
.pass--gate .signup{padding-top:20px}
@media (min-width:961px) and (max-width:1120px){.pass--gate{grid-template-columns:1fr}.pass--gate .pass__stub{border-right:none;border-bottom:2px dashed color-mix(in srgb,var(--stub-ink) 45%,transparent);border-radius:6px 6px 0 0;flex-direction:row;align-items:baseline;gap:14px}.pass--gate .pass__per{max-width:none}}

.sent{display:none}
.is-sent .sent{display:block}
.is-sent .unsent{display:none}
.sent__t{font-size:23px;font-weight:780;font-stretch:104%;margin-bottom:10px}
.sent__addr{font-weight:750;color:var(--ink);overflow-wrap:anywhere}
.sent p{font-size:17.5px;line-height:1.55;color:var(--ink-2);max-width:46ch}
.sent p+p{margin-top:12px}
.sent__acts{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:20px;border-top:2px dashed rgba(23,20,15,.3);padding-top:18px}
.sent__acts .linkbtn[disabled]{color:#6B6250;text-decoration-color:transparent;cursor:default}
.envelope{width:64px;height:46px;margin-bottom:16px;color:var(--ink)}

.notice{background:var(--paper);color:var(--ink);border:2px solid var(--ink);border-radius:6px;padding:12px 14px;margin-bottom:18px;font-size:16.5px;line-height:1.5;display:none}
.notice.is-on{display:flex;gap:10px;align-items:flex-start}
.notice svg{width:22px;height:22px;flex:none;color:#A92A10;margin-top:1px}

/* ---------- toast ---------- */
.toast{
  position:fixed;left:50%;bottom:24px;z-index:60;transform:translate(-50%,calc(100% + 40px));
  background:var(--ink);color:var(--paper);border:2px solid var(--paper);border-radius:6px;box-shadow:3px 3px 0 var(--ochre);
  padding:12px 18px;font-size:16px;width:max-content;max-width:min(calc(100vw - 32px),560px);visibility:hidden;
  transition:transform .32s cubic-bezier(.2,.9,.25,1),visibility 0s linear .32s;
}
.toast.is-on{transform:translate(-50%,0);visibility:visible;transition:transform .32s cubic-bezier(.2,.9,.25,1)}

/* ---------- deleted ---------- */
.gone{max-width:640px;background:var(--paper);color:var(--ink);border:2px solid var(--ink);border-radius:8px;box-shadow:var(--shadow-lg);padding:32px 30px}
.gone h1{font-size:clamp(30px,3.4vw,42px);font-weight:800;font-stretch:108%;letter-spacing:-.02em;line-height:1.08;margin:0 0 14px}
.gone p{font-size:17.5px;line-height:1.55;color:var(--ink-2);margin-bottom:12px}
.gone .btn{margin-top:8px}

[hidden]{display:none !important}
.signup--bare{border-top:none;padding-top:0}
.stamp.is-pending{opacity:0}
@media (max-width:720px){.pass--gate{grid-template-columns:1fr}}

/* "What this page can see": plain lists on the kraft panel, no box inside the box */
.sees .ledger{background:none;border:none;padding:0;border-radius:0}
.sees .ledger__hd--no{margin-top:18px}
.sees .ledger ul{flex-direction:column;flex-wrap:nowrap;gap:6px}
.sees .ledger li,.sees .ledger__no li{background:none;border:none;padding:0;border-radius:0;font-size:16.5px;font-weight:500;color:var(--ink);display:flex;align-items:center;gap:10px}
.sees .ledger .ic{width:18px;height:18px}
.sees .ledger__yes .ic{color:var(--green)}
.sees .ledger__no .ic{color:#A92A10}

/* four section tabs fit a phone */
@media (max-width:480px){
  .strip--acct{gap:2px}
  .strip--acct .strip__tab{padding:9px 10px 10px;font-size:14.5px}
  .strip--acct .strip__tab.is-on{padding-bottom:12px}
}
