/* Round 3 · board 1b, Andrew's picks (final): the index-card contact form (#pcontact), the phone first screen with the
   six cases in a bottom sheet (<= 760 px), and the calls to action js/variants.js places. No offset shadows. */

/* ---------- the contact section ---------- */
#pcontact{scroll-margin-top:76px}
.pc-body{display:grid;gap:16px}
.pc-fallback{font-size:.95rem;color:var(--ink-2)}
.pc-fallback .btn{margin-top:10px}
html[data-js] .pc-fallback{display:none}
.pc-addr{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font:500 .78rem/1.5 var(--mono);color:var(--ink-2)}
.pc-mail{font:600 .9rem/1.4 var(--mono);color:var(--ink);user-select:all;-webkit-user-select:all;padding:10px 0}
.pc-copy{min-height:44px}
.pc-copy[hidden]{display:none}
.pc-copied{min-width:1px;color:var(--green)}

.pcf{max-width:760px}
.pcf-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font:600 .6875rem/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.pcf-bar{height:4px;background:var(--line-2);margin:8px 0 18px}
.pcf-bar i{display:block;height:100%;width:var(--p,0%);background:var(--sap);transition:width .25s ease}
.pcf-q{font:650 clamp(1.35rem,2.6vw,1.75rem)/1.2 var(--serif);letter-spacing:-.015em;outline:none}
.pcf-q:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.pcf-help{margin-top:6px;font-size:.88rem;color:var(--ink-2)}
.pcf fieldset{border:0;min-width:0}
.pcf legend{padding:0}
.pcf-opts{display:grid;gap:10px;margin-top:16px}
.pcf-opt{min-height:44px;text-align:left;cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:14px 16px;font:600 .95rem/1.35 var(--sans)}
.pcf-opt:hover{border-color:var(--ink)}
.pcf-opt[aria-pressed="true"]{border-color:var(--sap);outline:1px solid var(--sap)}
.pcf-field{display:grid;gap:6px;margin-top:16px}
.pcf-field label{font:700 .6875rem/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.pcf-field input,.pcf-field textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--ink-3);background:var(--card);color:var(--ink);font:400 1rem/1.5 var(--sans)}
.pcf-field textarea{min-height:120px;resize:vertical}
.pcf-field [aria-invalid="true"]{border-color:var(--red);outline:1px solid var(--red)}
.pcf-err{color:var(--red);font:600 .82rem/1.5 var(--sans);min-height:1.5em;margin-top:6px}
.pcf-err:empty{min-height:0;margin:0}
.pcf-nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.pcf-review{margin-top:14px;border-top:1px solid var(--line)}
.pcf-review div{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:4px 14px;padding:10px 0;border-bottom:1px solid var(--line-2)}
.pcf-review dt{font:700 .6875rem/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.pcf-review dd{font-size:.92rem;overflow-wrap:anywhere;white-space:pre-line}
.pcf-note{margin-top:14px;font-size:.9rem;color:var(--ink-2);max-width:62ch}
.pcf-note:empty{display:none}
.pcf-log{display:none;list-style:none}
@media (max-width:520px){.pcf-review div{grid-template-columns:1fr}}

/* the index card, as the case file draws it (the dossier's own colours, both themes) */
:root .pcf{background-color:#FFFDF6;color:#2B2B2B;border:1px solid #C9BFA0;padding:34px 24px 26px;position:relative;
  --ink:#2B2B2B;--ink-2:#3d3d3d;--ink-3:#5b5141;--line:#C9BFA0;--line-2:#e3dac2;--card:#FFFDF6;--red:#a8322b;--sap:#2a4a7a;--green:#1c6b45;--paper:#FFFDF6}
:root .pcf::before{content:"";position:absolute;left:52px;top:0;bottom:0;width:1px;background:rgba(217,83,79,.45)}
:root .pcf>*{margin-left:46px}
:root .pcf-top,:root .pcf-field label,:root .pcf-review dt{font-family:"Courier New",Courier,var(--mono);color:#5b5141}
:root .pcf-q{font:700 1.3rem/1.3 "Courier New",Courier,var(--mono);letter-spacing:0;text-transform:uppercase}
:root .pcf-help,:root .pcf-review dd{font-family:"Courier New",Courier,var(--mono)}
:root .pcf-opt{background:#FFFDF6;border:1px solid #8B7355;font:700 .9rem/1.3 "Courier New",Courier,var(--mono);text-transform:uppercase;letter-spacing:.04em}
:root .pcf-opt::before{content:"[ ]";margin-right:10px}
:root .pcf-opt[aria-pressed="true"]::before{content:"[x]"}
:root .pcf-field input,:root .pcf-field textarea{background:transparent;border:0;border-bottom:1px solid #8B7355;font:400 1rem/1.6 "Courier New",Courier,var(--mono)}
:root .pcf .btn{border-color:#2B2B2B;color:#2B2B2B}
:root .pcf .btn.solid{background:#2B2B2B;color:#FFFDF6}
:root .pcf .btn:hover{background:#2B2B2B;color:#FFFDF6}
:root .pcf-tab{display:inline-block;margin-bottom:12px;font:700 .6875rem/1 "Courier New",Courier,var(--mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid #6d5a3a;padding:5px 8px;color:#2B2B2B}
@media (max-width:520px){:root .pcf{padding:28px 14px 20px}:root .pcf::before{left:22px}:root .pcf>*{margin-left:18px}}

/* ---------- the calls to action ---------- */
.vx-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:18px;padding:14px 0;border-top:1px solid var(--line-2)}
.vx-row p{font:600 .6875rem/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-right:auto}
.vx-band{margin:28px 0 0;padding:18px 0;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.vx-band b{font:650 1.25rem/1.25 var(--serif);margin-right:auto}
footer.pf .vx-row{justify-content:center;border:0}
#s6 .card .vx-next .acts a,#s6 .card .vx-next .acts button{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid #2B2B2B;text-decoration:none;font:700 .6875rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#2B2B2B;background:#FFFDF6;cursor:pointer}

/* ---------- the phone first screen, ≤ 760 px only ---------- */
.vx-handle{display:none}
@media (max-width:760px){
  :root .sheet{display:flex;flex-direction:column;padding-top:14px}
  :root .sheet>*{order:5}
  :root .runbar{display:none}
  /* the masthead and hero A open up (display:contents) so their parts interleave: name, pitch, email, then the proof */
  :root .nav-in{padding:8px 12px;gap:8px;flex-wrap:nowrap}
  :root .brand i{letter-spacing:.08em}
  :root .tools .tbtn{padding:0 9px}
  :root .masthead,:root .masthead>div:first-child{display:contents}
  :root .masthead .kick,:root .masthead .ring-mark{display:none}
  :root .id,:root .lede-txt,:root .actions .btn.solid{order:1}
  :root .meta,:root .llc{order:4}
  :root .meta{margin-top:18px}
  :root .id{grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center}
  :root .portrait{width:52px;height:52px}
  :root h1{font-size:2rem;margin-top:0}
  :root .role{margin-top:4px;font-size:.6875rem}
  :root .lede-txt{margin-top:10px;font-size:.95rem;line-height:1.5}
  :root .actions{display:contents}
  :root .actions .btn{margin-top:12px;align-self:stretch;justify-content:center}
  :root .actions .btn.ghost{order:4;margin-top:8px}
  :root .hp-sheet{margin-top:18px}
  :root .sheet>*{min-width:0}
  :root .hpress{display:contents}
  :root .hp-sheet{order:2;margin-bottom:6px}
  :root .hp-copy{order:3;margin-top:22px}
  :root .hp-keys,:root .hp-mq,:root .hp-bed{order:4;margin-top:18px}
  :root .hp-sheet{padding:0;border:0;background:none}
  :root .hp-sheet::before,:root .hp-sheet::after{display:none}
  :root .hp-cap{margin-top:16px}
  /* the case list in a bottom sheet: the keys leave the page for a handle docked at the bottom */
  :root .hp-keys{display:none}
  :root .masthead .portrait{display:none}
  :root .id{grid-template-columns:1fr}
  :root body{padding-bottom:72px}
  :root .vx-handle{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 12px;background:var(--paper);border-top:1px solid var(--ink)}
  :root .vx-handle button{flex:1;min-height:48px;display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--ink);background:var(--card);cursor:pointer;padding:0 14px;font:700 .72rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;text-align:left}
}
dialog.vx-sheet{margin:auto 0 0;width:100%;max-width:100%;max-height:82vh;border:0;border-top:2px solid var(--ink);background:var(--paper);color:var(--ink);padding:14px 16px 20px}
dialog.vx-sheet::backdrop{background:rgba(11,13,18,.5)}
dialog.vx-sheet[open]{animation:vxup .22s cubic-bezier(.16,1,.3,1)}
@keyframes vxup{from{transform:translateY(40%)}}
@media (prefers-reduced-motion:reduce){dialog.vx-sheet[open]{animation:none}.pcf-bar i{transition:none}}
.vx-sheet-h{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:10px;border-bottom:2px solid var(--ink)}
.vx-sheet-h h2{font:650 1.3rem/1.2 var(--serif)}
.vx-sheet ol{list-style:none;margin-top:6px}
.vx-sheet li button{width:100%;min-height:52px;display:grid;grid-template-columns:2.2rem minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;border:0;border-bottom:1px solid var(--line-2);background:none;cursor:pointer;padding:8px 2px}
.vx-sheet li b{font:650 1.2rem/1 var(--serif)}
.vx-sheet li span{font:600 .9rem/1.3 var(--sans)}
.vx-sheet li button[aria-current="true"] span{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}
.vx-sheet .vx-sheet-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
