/* Public tenant feature page. The portal illustration contains fictional records. */
.tenant-feature-page { --paper:#f3f5f1; --ink:#152e3d; --accent:#216f4b; --rule:#d5dcd6; --muted:#526572; }
.tenant-feature-page header nav .button { color:#fff; padding:12px 21px; }
.tenant-feature-page header nav .button:hover { color:#fff; text-decoration:none; }
.tenant-feature-page .tp-hero { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); align-items:start; gap:40px; padding:52px 0 66px; }
.tenant-feature-page :is(.tp-hero,.tp-screen,.tp-document,.tp-feature-grid,.tp-pricing,.tp-joint) > * { min-width:0; }
.tenant-feature-page .tp-intro { padding-top:22px; }
.tenant-feature-page .tp-intro h1 { font-size:clamp(42px,4.65vw,60px); line-height:1.05; max-width:510px; margin:18px 0 27px; }
.tenant-feature-page .tp-lead { font-size:20px; line-height:1.6; }
.tenant-feature-page .tp-intro .actions { align-items:flex-start; }
.tenant-feature-page .tp-intro .tp-free { margin-bottom:0; color:var(--muted); font-size:14px; }
.tenant-feature-page .tp-example { margin:0; min-width:0; }
.tenant-feature-page .tp-screen { display:grid; grid-template-columns:132px minmax(0,1fr); background:#fff; border:1px solid #cbd5cf; box-shadow:0 20px 44px #152e3d12; min-width:0; overflow:hidden; border-radius:8px; }
.tenant-feature-page .tp-sidebar { display:flex; flex-direction:column; align-items:stretch; padding:24px 13px 20px; background:var(--ink); color:#fff; }
.tenant-feature-page .tp-logo { display:flex; justify-content:center; align-items:center; min-height:57px; width:100%; border:1px dashed #b8cbc4; border-radius:5px; color:#fff; font-size:11px; letter-spacing:.07em; text-transform:uppercase; font-weight:650; }
.tenant-feature-page .tp-sidebar > strong { font-size:12px; line-height:1.4; margin:14px 0 26px; }
.tenant-feature-page .tp-nav-label { color:#b8cbc4; font-size:9px; letter-spacing:.12em; text-transform:uppercase; margin:0 0 12px; }
.tenant-feature-page .tp-nav { display:grid; gap:8px; }
.tenant-feature-page .tp-nav span { display:block; padding:9px 8px; font-size:10px; line-height:1.5; border-radius:6px; }
.tenant-feature-page .tp-nav-current { background:#2d4857; color:#fff; font-weight:700; }
.tenant-feature-page .tp-portal-label { margin-top:auto; padding-top:42px; color:#b8cbc4; font-size:10px; line-height:1.5; }
.tenant-feature-page .tp-workspace { min-width:0; background:#f3f5f1; }
.tenant-feature-page .tp-topline { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:14px 18px; border-bottom:1px solid var(--rule); background:#fff; color:var(--muted); font-size:10px; line-height:1.5; }
.tenant-feature-page .tp-avatar { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:27px; height:27px; border-radius:50%; background:#e7ede9; color:var(--ink); font-size:9px; font-weight:700; }
.tenant-feature-page .tp-content { padding:24px 20px 26px; }
.tenant-feature-page .tp-sample-label { color:var(--accent); font-size:9px; line-height:1.5; letter-spacing:.11em; text-transform:uppercase; font-weight:700; margin:0 0 9px; }
.tenant-feature-page .tp-content h2 { font-size:25px; margin:0 0 5px; }
.tenant-feature-page .tp-unit { color:var(--muted); font-size:11px; line-height:1.5; margin-bottom:20px; }
.tenant-feature-page .tp-balance { display:grid; gap:6px; padding:20px; background:var(--ink); color:#fff; border-radius:8px; margin-bottom:20px; }
.tenant-feature-page .tp-balance > span { font-size:11px; }
.tenant-feature-page .tp-balance strong { font-size:31px; line-height:1.2; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
.tenant-feature-page .tp-balance small { color:#c6d4d4; font-size:10px; line-height:1.5; }
.tenant-feature-page .tp-documents { padding:17px 15px 0; background:#fff; border:1px solid var(--rule); border-radius:8px; }
.tenant-feature-page .tp-documents h3 { font-size:14px; letter-spacing:-.01em; margin:0 0 12px; }
.tenant-feature-page .tp-document { display:grid; grid-template-columns:27px minmax(0,1fr); gap:4px 9px; align-items:start; padding:13px 0; border-top:1px solid #e2e8e3; }
.tenant-feature-page .tp-file { display:inline-flex; align-items:center; justify-content:center; width:27px; min-height:31px; border:1px solid #d5e1d7; background:#edf3ec; color:var(--accent); border-radius:4px; font-size:8px; font-weight:700; }
.tenant-feature-page .tp-document strong { display:block; font-size:11px; line-height:1.5; }
.tenant-feature-page .tp-document small { display:block; color:var(--muted); font-size:10px; line-height:1.5; margin-top:2px; }
.tenant-feature-page .tp-status { display:inline-block; align-self:start; justify-self:start; padding:3px 7px; color:#17563a; background:#e3f0e7; border-radius:999px; font-size:9px; font-weight:650; line-height:1.5; }
.tenant-feature-page .tp-document .tp-status { grid-column:2; margin-top:2px; }
.tenant-feature-page .tp-neutral { background:#eef1ef; color:#455862; }
.tenant-feature-page .tp-renewal { margin-top:17px; padding:17px; border-left:3px solid var(--accent); background:#e8efe7; }
.tenant-feature-page .tp-renewal strong { display:block; font-size:13px; line-height:1.5; }
.tenant-feature-page .tp-renewal > p:not(.tp-sample-label) { font-size:11px; color:var(--muted); margin:6px 0 9px; }
.tenant-feature-page .tp-renewal .tp-neutral { background:#fff; }
.tenant-feature-page .tp-example figcaption { color:var(--muted); font-size:11px; line-height:1.6; margin:14px 3px 0; max-width:560px; }
.tenant-feature-page .tp-section-heading h2 { max-width:740px; font-size:clamp(32px,3.8vw,44px); }
.tenant-feature-page .tp-section-heading > p:not(.eyebrow) { max-width:710px; }
.tenant-feature-page .tp-feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:32px; border-top:1px solid var(--rule); }
.tenant-feature-page .tp-feature-grid article { padding:28px 30px 28px 0; border-bottom:1px solid var(--rule); }
.tenant-feature-page .tp-feature-grid article:nth-child(even) { padding:28px 0 28px 30px; border-left:1px solid var(--rule); }
.tenant-feature-page .tp-feature-number { display:block; color:var(--accent); font:600 12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.06em; margin-bottom:14px; }
.tenant-feature-page .tp-feature-grid h3 { font-size:25px; }
.tenant-feature-page .tp-feature-grid p { font-size:16px; line-height:1.7; margin:0; }
.tenant-feature-page .tp-workflow .steps strong { font-size:18px; }
.tenant-feature-page .tp-workflow .steps p { font-size:16px; margin:8px 0 0; }
.tenant-feature-page .tp-joint { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); gap:30px; padding:30px; background:#e8efe7; border-left:3px solid var(--accent); margin-top:34px; }
.tenant-feature-page .tp-joint h3 { margin:0; }
.tenant-feature-page .tp-joint p { font-size:16px; margin:0; }
.tenant-feature-page .tp-signing-steps { list-style:none; padding:0; margin:30px 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.tenant-feature-page .tp-signing-steps li { min-width:0; border-top:1px solid var(--rule); padding-top:24px; }
.tenant-feature-page .tp-signing-steps li > span { display:inline-flex; align-items:center; justify-content:center; background:var(--ink); color:#fff; width:35px; height:35px; border-radius:50%; font-size:14px; font-weight:700; margin-bottom:18px; }
.tenant-feature-page .tp-signing-steps h3 { font-size:22px; }
.tenant-feature-page .tp-signing-steps p { font-size:16px; margin:0; }
.tenant-feature-page .tp-note { font-size:14px; line-height:1.7; padding:20px 24px; border:1px solid var(--rule); background:#fff; margin:0 0 24px; max-width:none; }
.tenant-feature-page .tp-pricing { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); align-items:center; gap:34px; }
.tenant-feature-page .tp-pricing .eyebrow { color:#91cca8; }
.tenant-feature-page .tp-pricing h2 { font-size:clamp(29px,3.5vw,39px); }
.tenant-feature-page .tp-pricing p { margin-bottom:0; }
.tenant-feature-page .tp-pricing .actions { margin:0; }
.tenant-feature-page .tp-pricing .actions p { width:100%; font-size:13px; line-height:1.5; }
@media(max-width:1040px) {
  .tenant-feature-page .tp-hero { gap:28px; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); }
  .tenant-feature-page .tp-intro h1 { font-size:44px; }
  .tenant-feature-page .tp-lead { font-size:18px; }
  .tenant-feature-page .tp-screen { grid-template-columns:110px minmax(0,1fr); }
  .tenant-feature-page .tp-sidebar { padding:20px 10px; }
  .tenant-feature-page .tp-content { padding:20px 15px; }
  .tenant-feature-page .tp-documents { padding-left:11px; padding-right:11px; }
}
@media(max-width:860px) {
  .tenant-feature-page .tp-hero { grid-template-columns:1fr; gap:34px; padding:34px 0 46px; }
  .tenant-feature-page .tp-intro { padding-top:0; }
  .tenant-feature-page .tp-intro h1 { font-size:clamp(40px,7.5vw,54px); max-width:620px; }
  .tenant-feature-page .tp-example { max-width:640px; width:100%; margin:auto; }
  .tenant-feature-page .tp-screen { grid-template-columns:132px minmax(0,1fr); }
  .tenant-feature-page .tp-content { padding:24px 20px; }
  .tenant-feature-page .tp-signing-steps { grid-template-columns:1fr; gap:22px; }
  .tenant-feature-page .tp-signing-steps li { display:grid; grid-template-columns:35px minmax(0,1fr); gap:16px; }
  .tenant-feature-page .tp-signing-steps li > span { margin-bottom:0; }
}
@media(max-width:760px) {
  .tenant-feature-page .tp-feature-grid { grid-template-columns:1fr; }
  .tenant-feature-page .tp-feature-grid article, .tenant-feature-page .tp-feature-grid article:nth-child(even) { border-left:0; padding:25px 0; }
  .tenant-feature-page .tp-joint { grid-template-columns:1fr; gap:15px; padding:24px; }
  .tenant-feature-page .tp-pricing { grid-template-columns:1fr; gap:24px; }
}
@media(max-width:540px) {
  .tenant-feature-page header nav .button { padding:11px 17px; }
  .tenant-feature-page .tp-screen { grid-template-columns:1fr; }
  .tenant-feature-page .tp-sidebar { display:grid; grid-template-columns:88px minmax(0,1fr); gap:10px 16px; align-items:center; padding:15px 17px; }
  .tenant-feature-page .tp-logo { min-height:39px; font-size:10px; }
  .tenant-feature-page .tp-sidebar > strong { margin:0; font-size:13px; }
  .tenant-feature-page .tp-nav-label, .tenant-feature-page .tp-portal-label { display:none; }
  .tenant-feature-page .tp-nav { display:flex; gap:6px 13px; flex-wrap:wrap; grid-column:1/-1; }
  .tenant-feature-page .tp-nav span { padding:5px 7px; font-size:10px; }
  .tenant-feature-page .tp-content { padding:22px 17px; }
  .tenant-feature-page .tp-topline { padding:12px 17px; }
  .tenant-feature-page .tp-example figcaption { font-size:11px; }
  .tenant-feature-page .tp-feature-grid h3 { font-size:23px; }
  .tenant-feature-page .tp-joint { padding:20px; }
  .tenant-feature-page .tp-note { padding:18px; }
}
