/* ============================================================
   eSora v20 — PRESS (press.html only, scoped .pr-*)
   Cards on white with hairline borders; the two action cards
   get a subtle orange hover ring. Mobile-first.
   ============================================================ */
.pr-sec{padding-top:clamp(48px,6vw,88px)}
.pr-hero h1{font-family:var(--disp);font-weight:600;letter-spacing:-.03em}
/* ---------- the short version (boilerplate) ---------- */
.pr-boil{background:var(--white);border:1px solid var(--hair);border-radius:24px;padding:clamp(28px,4vw,48px);box-shadow:0 40px 90px -50px rgba(11,11,12,.28)}
.pr-lab{font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.pr-boil-txt{font-size:clamp(17px,1.6vw,20px);line-height:1.6;color:var(--ink2);max-width:880px}
.pr-boil-txt a{color:var(--ink);border-bottom:1px solid var(--hair2);transition:color .3s,border-color .3s}
.pr-boil-txt a:hover{color:var(--acc);border-color:var(--acc)}
/* ---------- press kit ---------- */
.pr-kit{display:grid;grid-template-columns:1fr;gap:18px}
.pr-kit-card{background:var(--white);border:1px solid var(--hair);border-radius:20px;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.pr-kit-card:hover{transform:translateY(-4px);box-shadow:0 26px 60px -30px rgba(11,11,12,.25)}
.pr-tile{display:flex;align-items:center;justify-content:center;height:190px;border-bottom:1px solid var(--hair)}
.pr-tile img{width:96px;height:96px;object-fit:contain}
.pr-tile.on-white{background:var(--white)}
.pr-tile.on-ink{background:var(--ink)}
.pr-kit-body{padding:20px 22px 24px}
.pr-kit-body h3{font-size:20px;letter-spacing:-.02em;margin-bottom:6px}
.pr-kit-body p{font-size:13.5px;color:var(--muted);margin-bottom:16px}
.pr-kit-body .btn{padding:11px 20px;font-size:13.5px;min-height:44px}
.pr-kit-note{margin-top:20px;font-size:13px;color:var(--muted)}
@media(min-width:760px){.pr-kit{grid-template-columns:repeat(3,1fr)}}
/* ---------- two action cards ---------- */
.pr-actions{display:grid;grid-template-columns:1fr;gap:18px}
.pr-card{position:relative;text-align:left;background:var(--white);border:1px solid var(--hair);border-radius:24px;padding:clamp(26px,3.4vw,42px);cursor:pointer;transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease)}
.pr-card:hover{transform:translateY(-6px);box-shadow:0 34px 80px -34px rgba(240,78,35,.35)}
.pr-card::after{content:"";position:absolute;inset:-1px;border:1.5px solid var(--acc);border-radius:24px;opacity:0;transition:opacity .4s var(--ease);pointer-events:none}
.pr-card:hover::after,.pr-card:focus-visible::after{opacity:1}
.pr-card-k{font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--acc);margin-bottom:14px}
.pr-card h3{font-size:clamp(24px,2.6vw,32px);letter-spacing:-.02em;margin-bottom:10px}
.pr-card-p{font-size:15px;color:var(--ink2);margin-bottom:22px}
.pr-card-go{display:inline-flex;align-items:center;gap:8px;font-family:var(--disp);font-weight:500;font-size:15px;letter-spacing:-.01em;color:var(--ink);transition:color .3s}
.pr-card-go .ar{font-style:normal;transition:transform .35s var(--ease)}
.pr-card:hover .pr-card-go{color:var(--acc)}
.pr-card:hover .pr-card-go .ar{transform:translateX(4px)}
@media(min-width:820px){.pr-actions{grid-template-columns:1fr 1fr}}
/* ---------- note strip ---------- */
.pr-note{margin-top:clamp(28px,4vw,44px);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:26px 0;text-align:center;font-size:15px;color:var(--ink2)}
/* ============================================================
   MODALS — same sheet language as #quoteModal / #applyModal:
   backdrop blur sheet, steps + progress bar, chips, floating
   labels, validation shake + inline error, data-lenis-prevent
   on the scroll area, Esc + focus trap (press.js).
   ============================================================ */
.pr-modal{position:fixed;inset:0;z-index:1500;display:flex;align-items:center;justify-content:center;padding:clamp(10px,3vw,40px)}
.pr-modal[hidden]{display:none}
.pr-modal .pr-backdrop{position:absolute;inset:0;background:rgba(11,11,12,.44);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;transition:opacity .45s var(--ease)}
.pr-modal.open .pr-backdrop{opacity:1}
.pr-modal .pr-sheet{position:relative;width:min(720px,100%);max-height:calc(100svh - 32px);overflow-y:auto;overscroll-behavior:contain;background:var(--white);border-radius:28px;padding:clamp(24px,4vw,46px);box-shadow:0 60px 140px -40px rgba(11,11,12,.55);opacity:0;transform:translateY(60px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.pr-modal.open .pr-sheet{opacity:1;transform:none}
.pr-modal .pr-x{position:absolute;top:16px;right:16px;width:42px;height:42px;border-radius:50%;border:1px solid var(--hair2);display:flex;align-items:center;justify-content:center;background:var(--white);transition:all .3s;z-index:2}
.pr-modal .pr-x svg{width:12px;height:12px}
.pr-modal .pr-x path{stroke:var(--ink2);stroke-width:1.8;stroke-linecap:round}
.pr-modal .pr-x:hover{background:var(--ink);border-color:var(--ink)}
.pr-modal .pr-x:hover path{stroke:#fff}
.pr-modal .pr-eyebrow{margin-bottom:14px}
.pr-modal .pr-title{font-size:clamp(1.8rem,3.4vw,2.6rem);letter-spacing:-.03em;margin:0 0 26px;padding-right:48px}
.pr-modal .wiz{border:0;box-shadow:none;padding:0;border-radius:0;background:transparent}
/* ---------- floating-label fields ---------- */
.pr-fields{display:grid;grid-template-columns:1fr;gap:12px}
.pr-fields .full{grid-column:1/-1}
.pr-field{position:relative}
.pr-field input,.pr-field textarea{width:100%;font:inherit;font-size:15px;color:var(--ink);background:var(--white);border:1px solid var(--hair2);border-radius:14px;padding:24px 18px 9px;transition:border-color .3s;resize:vertical}
.pr-field textarea{min-height:120px}
.pr-field label{position:absolute;left:19px;top:17px;font-size:15px;color:var(--muted);pointer-events:none;transition:top .25s var(--ease),font-size .25s var(--ease),color .25s var(--ease)}
.pr-field input:focus,.pr-field textarea:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 4px rgba(240,78,35,.14)}
.pr-field input:focus+label,.pr-field input:not(:placeholder-shown)+label,
.pr-field textarea:focus+label,.pr-field textarea:not(:placeholder-shown)+label{top:8px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}
.pr-field input.invalid,.pr-field textarea.invalid{border-color:var(--acc)}
@media(min-width:620px){.pr-fields{grid-template-columns:1fr 1fr}}
/* ---------- chip groups (multi/single) ---------- */
.pr-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:6px}
.pr-chips .wopt[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
/* ---------- validation shake + inline error ---------- */
.pr-modal .shake{animation:shake .42s var(--ease)}
.pr-modal .pr-field .shake,.pr-modal input.shake,.pr-modal textarea.shake{border-color:var(--acc)}
.pr-modal .js-next.sending{opacity:.75;pointer-events:none}
.pr-modal .pr-chips.shake{border-color:transparent;border-radius:16px}
/* ---------- review summary (press wizard, step 3) ---------- */
.pr-review{border:1px solid var(--hair);border-radius:16px;padding:8px 18px;margin-top:16px}
.pr-review .pr-r{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid var(--hair);font-size:13.5px;line-height:1.45}
.pr-review .pr-r:last-child{border-bottom:0}
.pr-review .pr-k{flex:none;width:118px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.pr-review .pr-v{color:var(--ink2);word-break:break-word}
/* ---------- success identity stage ---------- */
.pr-modal .wiz-done .id-svg{display:block}
@media(max-width:560px){
  .pr-modal{padding:8px}
  .pr-modal .pr-sheet{border-radius:20px;max-height:calc(100svh - 16px)}
}
