/* Contact card — "Let's talk" (Oct 26) */
.ct{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}
.ct[hidden]{display:none}
.ct-bg{position:absolute;inset:0;background:rgba(6,6,6,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transition:opacity .32s ease}
.ct-card{position:relative;width:100%;max-width:460px;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;background:#0e0e0e;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:28px 32px 26px;box-shadow:0 40px 120px rgba(0,0,0,.6);font-family:"Geist","Helvetica Neue",Arial,sans-serif;opacity:0;transform:translateY(14px) scale(.965);transition:opacity .32s ease,transform .42s cubic-bezier(.2,.8,.2,1);outline:none;scrollbar-width:none}
.ct-card::-webkit-scrollbar{display:none}
.ct.open .ct-bg{opacity:1}
.ct.open .ct-card{opacity:1;transform:none}
.ct-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.ct-logo{display:block;height:26px;width:auto;color:#fff}
.ct-x{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer;padding:0;transition:background .2s,border-color .2s}
.ct-x:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.35)}
.ct-x svg{width:14px;height:14px}
.ct-h{font-family:"Geist","Helvetica Neue",Arial,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:-.025em;line-height:.95;font-size:56px;margin:0 0 12px;color:#fff}
.ct-h .acc{font-size:1.12em}
.ct-who{margin:0 0 22px;font-size:15px;line-height:1.4;color:rgba(255,255,255,.62)}
.ct-who b{color:#fff;font-weight:500}
.ct-who .ct-dot{color:var(--o,#f05223);padding:0 6px}
.ct-acts{display:grid;gap:10px;margin:0 0 22px}
.ct-a{display:flex;align-items:center;gap:14px;min-height:62px;padding:10px 18px 10px 10px;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:#161616;color:#fff;text-decoration:none;transition:border-color .2s,background .2s,transform .2s}
.ct-a:hover{border-color:rgba(255,255,255,.32);background:#1b1b1b}
.ct-a:active{transform:scale(.99)}
.ct-a .ct-ic{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(240,82,35,.12);color:var(--o,#f05223)}
.ct-a .ct-ic svg{width:20px;height:20px}
.ct-a .ct-tx{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.ct-a .ct-lb{font-family:"Geist Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.ct-a .ct-vl{font-size:16px;font-weight:500;letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-a .ct-ar{flex:none;width:16px;height:16px;color:rgba(255,255,255,.4);transition:transform .2s,color .2s}
.ct-a:hover .ct-ar{transform:translateX(3px);color:#fff}
.ct-a.ct-pri{background:var(--o,#f05223);border-color:var(--o,#f05223)}
.ct-a.ct-pri:hover{background:#ff5d2c;border-color:#ff5d2c}
.ct-a.ct-pri .ct-ic{background:rgba(0,0,0,.16);color:#fff}
.ct-a.ct-pri .ct-lb{color:rgba(255,255,255,.78)}
.ct-a.ct-pri .ct-ar{color:#fff}
.ct-or{display:flex;align-items:center;gap:14px;margin:0 0 16px;font-family:"Geist Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.ct-or::before,.ct-or::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.12)}
.ct-f{display:grid;gap:10px;margin:0}
.ct-f label{display:block}
.ct-f .ct-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ct-f input,.ct-f textarea{display:block;width:100%;box-sizing:border-box;margin:0;font:400 16px/1.4 "Geist","Helvetica Neue",Arial,sans-serif;color:#fff;background:#161616;border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:13px 16px;outline:none;transition:border-color .2s,background .2s;-webkit-appearance:none;appearance:none}
.ct-f input{height:50px}
.ct-f textarea{min-height:96px;resize:none}
.ct-f input::placeholder,.ct-f textarea::placeholder{color:rgba(255,255,255,.4)}
.ct-f input:focus,.ct-f textarea:focus{border-color:var(--o,#f05223);background:#1a1a1a}
.ct-f .ct-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ct-send{display:flex;align-items:center;justify-content:center;gap:10px;height:52px;margin-top:4px;border:0;border-radius:999px;background:#fff;color:#0e0e0e;font:500 15px/1 "Geist","Helvetica Neue",Arial,sans-serif;letter-spacing:.01em;cursor:pointer;transition:background .2s,color .2s}
.ct-send:hover{background:var(--o,#f05223);color:#fff}
.ct-send svg{width:16px;height:16px}
.ct-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);font-family:"Geist Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.ct-save{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;background:none;border:0;padding:0;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}
.ct-save svg{width:14px;height:14px;color:var(--o,#f05223)}
.ct-save:hover{color:var(--o,#f05223)}
html.ct-lock,html.ct-lock body{overflow:hidden}
.ct-a:focus-visible,.ct-x:focus-visible,.ct-send:focus-visible,.ct-save:focus-visible{outline:2px solid var(--o,#f05223);outline-offset:3px}
@media (max-width:600px){
  .ct{align-items:flex-end;padding:0}
  .ct-card{max-width:none;max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);border-radius:24px 24px 0 0;border-width:1px 0 0;padding:12px 20px calc(22px + env(safe-area-inset-bottom));transform:translateY(100%);transition:opacity .2s ease,transform .45s cubic-bezier(.2,.85,.25,1)}
  .ct-card::before{content:"";display:block;width:40px;height:4px;border-radius:4px;background:rgba(255,255,255,.22);margin:0 auto 14px}
  .ct-top{margin-bottom:18px}
  .ct-logo{height:22px}
  .ct-h{font-size:46px;margin-bottom:10px}
  .ct-who{font-size:14px;margin-bottom:18px}
  .ct-acts{gap:8px;margin-bottom:18px}
  .ct-a{min-height:58px}
  .ct-a .ct-ic{width:38px;height:38px;border-radius:11px}
  .ct-or{margin-bottom:12px}
  .ct-f{gap:8px}
  .ct-f .ct-pair{grid-template-columns:1fr;gap:8px}
  .ct-f input{height:48px}
  .ct-f textarea{min-height:84px}
  .ct-foot{margin-top:16px;padding-top:14px}
}
@media (prefers-reduced-motion:reduce){.ct-bg,.ct-card{transition:opacity .15s ease!important;transform:none!important}}

/* quick idea chips (8:13 PM) */
.ct-chips{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 2px}
.ct-chip{font:500 13px/1 Geist,system-ui,sans-serif;color:#d9d9d9;background:transparent;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:9px 13px;cursor:pointer;transition:border-color .2s,color .2s,background .2s;white-space:nowrap}
@media (hover:hover){.ct-chip:hover{border-color:#F05223;color:#fff}}
.ct-chip.on{background:#F05223;border-color:#F05223;color:#fff}
@media (max-width:600px){.ct-chips{gap:6px}.ct-chip{font-size:12.5px;padding:8px 11px}}

/* rotating placeholder (8:17 PM) */
#ink-contact textarea::placeholder{transition:opacity .35s ease}
#ink-contact textarea.ph-out::placeholder{opacity:0}

/* sent state — "Thank you. Big things are about to happen." (Oct 27) */
.ct-hp{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.ct-send:disabled{cursor:default;background:var(--o,#f05223);color:#fff}
.ct-card.ct-anim{overflow:hidden}
.ct-main[hidden],.ct-done[hidden]{display:none}
.ct-card.ct-sent .ct-top{margin-bottom:0}
.ct-done{padding:30px 0 6px}
.ct-thx{margin:0;max-width:30ch;font:400 18px/1.5 "Geist","Helvetica Neue",Arial,sans-serif;letter-spacing:-.005em;color:rgba(255,255,255,.78);outline:none}
@media (max-width:600px){
  .ct-done{padding:26px 0 8px}
  .ct-thx{font-size:17px}
}

/* thank-you v2 (Oct 28): no logo, big white headline, small line, orange confetti */
.ct-card.ct-sent .ct-brand{visibility:hidden}
.ct-card.ct-sent{position:relative}
.ct-done{padding:18px 0 10px;position:relative;z-index:1}
.ct-thx-h{margin:0 0 10px;font:400 clamp(44px,7vw,64px)/.95 "Geist","Helvetica Neue",Arial,sans-serif;letter-spacing:-.03em;text-transform:uppercase;color:#fff;outline:none}
.ct-done .ct-thx{font-size:16px;color:rgba(255,255,255,.62)}
.ct-confetti{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;border-radius:inherit}
@media (max-width:600px){.ct-done .ct-thx{font-size:15px}}

/* Oct30: all rows black, orange only on hover */
.ct-a.ct-pri{background:#141414;border-color:rgba(255,255,255,.12)}
.ct-a.ct-pri .ct-ic{background:rgba(240,82,35,.12);color:var(--o,#f05223)}
.ct-a.ct-pri .ct-lb{color:rgba(255,255,255,.55)}
.ct-a.ct-pri .ct-ar{color:rgba(255,255,255,.55)}
@media (hover:hover){
.ct-a:hover,.ct-a.ct-pri:hover{background:var(--o,#f05223);border-color:var(--o,#f05223)}
.ct-a:hover .ct-ic{background:rgba(0,0,0,.18);color:#fff}
.ct-a:hover .ct-lb,.ct-a:hover .ct-ar{color:#fff}
}
.ct-a:active{background:var(--o,#f05223);border-color:var(--o,#f05223)}
.ct-a:focus-visible{outline:none}
