/* PermitLogic site, v4: the inner pages. Loaded after v4.css on every page except the home and contractor
   pages. These pages keep their content and building blocks (page hero, sections, rows, guides, the waitlist
   form); this file gives those blocks the v4 look. */

.v4p .hp { position: absolute; left: -9999px; }
.v4p .sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.v4p .arr { display: none; }
.v4p .soft { color: var(--soft); }
.v4p .fine { font-size: 13px; line-height: 1.5; color: var(--soft); }
.v4p .textlink { color: var(--ink); font-weight: 600; text-decoration: underline; text-decoration-color: var(--sun); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.v4p .textlink:hover { text-decoration-color: var(--ink); }
.v4p ul, .v4p ol { margin: 0; }

/* Buttons from the old markup: plain = yellow, dark = ink, ghost = outline */
.v4p .btn:not(.btn-sun):not(.btn-ink):not(.btn-line) { background: var(--sun); color: var(--sun-ink); }
.v4p .btn:not(.btn-sun):not(.btn-ink):not(.btn-line):hover { background: var(--sun-press); }
.v4p .btn.dark { background: var(--ink); color: #fff; }
.v4p .btn.dark:hover { background: #2A303B; }
.v4p .btn.ghost { background: var(--white); color: var(--ink); border-color: var(--line-2); }

/* Page hero */
.v4p .phero { padding: clamp(40px, 6vw, 84px) 0 clamp(40px, 5vw, 64px); }
.v4p .phero h1 { margin: 0 0 20px; max-width: 18ch; }
.v4p .phero .lede { margin: 0; }
.v4p .phero-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: end; }
.v4p .phero .pose, .v4p .pose { width: auto; height: clamp(180px, 20vw, 280px); display: block; }
.v4p .pose-slot { position: relative; }
.v4p .meta { display: flex; gap: 18px; flex-wrap: wrap; font-size: 15px; color: var(--soft); margin-top: 16px; }
.v4p .meta b { color: var(--ink); font-weight: 640; }

/* Sections */
.v4p .folder { padding: clamp(56px, 7vw, 96px) 0; position: relative; }
.v4p .folder::before { content: none; }
.v4p .f-paper { background: var(--paper); }
.v4p .f-tone, .v4p .f-tone2 { background: var(--white); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.v4p .f-y { background: var(--sun-tint); border-top: 1px solid var(--sun-line); border-bottom: 1px solid var(--sun-line); }
.v4p .f-ink { background: var(--night); color: var(--on-night-soft); }
.v4p .f-ink h2, .v4p .f-ink h3, .v4p .f-ink b, .v4p .f-ink strong { color: var(--on-night); }
.v4p .f-ink .soft { color: var(--on-night-soft); }
.v4p .f-ink .textlink { color: var(--on-night); }
.v4p .sect-h { margin-bottom: 32px; max-width: 24ch; }
.v4p .sect-h + .lede { margin: -12px 0 32px !important; }
.v4p .split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 80px); align-items: center; }
.v4p .split.top { align-items: start; }
.v4p .split-head h2 { max-width: 16ch; }
.v4p .split-head p { margin-top: 18px; }

/* Rows: a name and what it means */
.v4p .rows { list-style: none; padding: 0; display: grid; }
.v4p .rows li { display: grid; grid-template-columns: minmax(150px, .38fr) 1fr; gap: 24px; padding: 20px 0; border-top: 1px solid var(--line); }
.v4p .rows li:last-child { border-bottom: 1px solid var(--line); }
.v4p .rows li b { color: var(--ink); font-size: 18px; font-weight: 660; font-stretch: 104%; }
.v4p .f-ink .rows li { border-color: rgba(233, 236, 242, .14); }

/* Phone screenshots */
.v4p .phones { display: flex; gap: clamp(16px, 3vw, 40px); justify-content: center; align-items: flex-end; flex-wrap: wrap; }
.v4p .phones .phone { margin: 0; width: min(240px, 28vw); display: grid; gap: 12px; text-align: center; }
.v4p .phones .phone img { width: 100%; height: auto; border-radius: 30px; border: 7px solid #0E1117; background: #fff; box-shadow: var(--shadow); }
.v4p .phones figcaption { font-size: 14px; font-weight: 560; color: inherit; }
.v4p .f-ink .phones figcaption { color: var(--on-night); }

/* Cards that link elsewhere */
.v4p .related { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.v4p .related > li > a, .v4p .related > li > div { display: block; height: 100%; background: var(--white) !important; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 24px !important; text-decoration: none; min-height: 140px; }
.v4p .f-tone .related > li > a, .v4p .f-tone .related > li > div { background: var(--paper) !important; }
.v4p .related > li > a:hover { border-color: var(--ink); }
.v4p .related small { display: block; font-size: 13px; color: var(--soft); margin-bottom: 8px; font-weight: 600; }
.v4p .related b { color: var(--ink); font-size: 19px !important; line-height: 1.25; font-weight: 680; display: block; }
.v4p .related span { color: var(--body) !important; }

/* Lists of links (project guides etc.) */
.v4p .linkset { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; background: var(--white); }
.v4p .linkset li { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.v4p .linkset li:nth-child(3n) { border-right: 0; }
.v4p .linkset a { display: flex; align-items: center; gap: 12px; padding: 16px 18px; text-decoration: none; color: var(--ink); font-weight: 620; font-size: 16px; height: 100%; }
.v4p .linkset a:hover { background: var(--sun-tint); }
.v4p .linkset a span:not(.picon) { display: block; font-weight: 400; font-size: 14px; color: var(--soft); margin-top: 2px; }
.v4p .picon { width: 36px; height: 36px; flex-shrink: 0; border-radius: 10px; background: var(--sun-tint); border: 1px solid var(--sun-line); display: grid; place-items: center; color: var(--sun-ink); }
.v4p .picon svg { width: 20px; height: 20px; }

/* Long-form pages: text and a side column */
.v4p .doc { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: clamp(40px, 6vw, 88px); align-items: start; }
.v4p .prose { max-width: 68ch; font-size: 18px; line-height: 1.7; color: var(--body); }
.v4p .prose > * + * { margin-top: 1em; }
.v4p .prose > * { margin-bottom: 0; }
.v4p .prose h2 { font-size: clamp(26px, 2.4vw, 34px); margin-top: 1.8em; scroll-margin-top: 96px; }
.v4p .prose h3 { font-size: 21px; margin-top: 1.5em; scroll-margin-top: 96px; }
.v4p .prose ul { list-style: none; padding-left: 0; }
.v4p .prose ol { padding-left: 1.3em; }
.v4p .prose li + li { margin-top: .45em; }
.v4p .prose ul li { position: relative; padding-left: 24px; }
.v4p .prose ul li::before { content: ''; position: absolute; left: 2px; top: .62em; width: 8px; height: 8px; border-radius: 50%; background: var(--sun); box-shadow: 0 0 0 1.5px var(--sun-press); }
.v4p .prose a { color: var(--ink); font-weight: 600; text-decoration: underline; text-decoration-color: var(--sun); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.v4p .prose a:hover { text-decoration-color: var(--ink); }
.v4p .prose blockquote { margin: 1.4em 0 0; background: var(--white); border: 1px solid var(--line); border-left: 4px solid var(--sun); border-radius: var(--r-sm); padding: 18px 22px; font-size: 17px; }
.v4p .prose strong { color: var(--ink); font-weight: 680; }
.v4p .prose table { width: 100%; border-collapse: collapse; font-size: 16px; }
.v4p .prose th, .v4p .prose td { text-align: left; padding: 10px 12px 10px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.v4p .prose th { font-size: 14px; color: var(--ink); }
.v4p .check-office { display: flex; gap: 14px; align-items: flex-start; background: var(--night); color: var(--on-night-soft); padding: 20px 24px; border-radius: var(--r); font-size: 16px; }
.v4p .check-office b { color: var(--sun); }
.v4p .aside { position: sticky; top: 92px; display: grid; gap: 16px; }
.v4p .aside .box { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 22px; }
.v4p .aside .box.y { background: var(--sun-tint); border-color: var(--sun-line); }
.v4p .aside h2, .v4p .aside h3 { font-size: 17px; font-stretch: 100%; letter-spacing: 0; margin-bottom: 10px; }
.v4p .aside ol, .v4p .aside ul { list-style: none; padding: 0; display: grid; gap: 8px; font-size: 15px; }
.v4p .aside a { color: var(--ink); text-decoration: none; }
.v4p .aside a:hover { text-decoration: underline; text-decoration-color: var(--sun); text-decoration-thickness: 2px; }
.v4p .figure { margin: 0; }
.v4p .figure img, .v4p .photo img { width: 100%; height: auto; border-radius: var(--r-lg); object-fit: cover; clip-path: none; }
.v4p .figure figcaption, .v4p .photo figcaption { font-size: 13px; color: var(--soft); margin-top: 8px; }

/* Blog list */
.v4p .posts { list-style: none; padding: 0; display: grid; border-top: 1px solid var(--line); }
.v4p .posts li a { display: grid; grid-template-columns: 140px 1fr auto; gap: 28px; align-items: baseline; padding: 24px 8px; text-decoration: none; border-bottom: 1px solid var(--line); }
.v4p .posts li a:hover { background: var(--white); }
.v4p .posts time { font-size: 14px; color: var(--soft); font-variant-numeric: tabular-nums; }
.v4p .posts .pt { color: var(--ink); font-size: clamp(20px, 1.8vw, 26px); font-weight: 700; font-stretch: 108%; letter-spacing: -.015em; line-height: 1.2; display: block; }
.v4p .posts p { font-size: 16px; color: var(--body); margin: 6px 0 0; max-width: 60ch; }
.v4p .posts .pill-t { font-size: 13px; font-weight: 620; padding: 4px 12px; background: var(--sun-tint); border: 1px solid var(--sun-line); border-radius: 999px; color: var(--sun-ink); white-space: nowrap; }

/* Project guides index: a list with a preview beside it */
.v4p .idx { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 72px); align-items: start; }
.v4p .idx-list { list-style: none; padding: 0; border-top: 1px solid var(--line); }
.v4p .idx-list li { border-bottom: 1px solid var(--line); }
.v4p .idx-list li + li { margin-top: 0; }
.v4p .idx-list a { display: block; padding: 14px 4px; text-decoration: none; color: var(--ink); font-size: clamp(20px, 1.8vw, 26px); font-weight: 700; font-stretch: 108%; letter-spacing: -.015em; line-height: 1.2; }
.v4p .idx-list a:hover, .v4p .idx-list a:focus-visible { color: var(--ink); background: var(--white); }
.v4p .idx-list a small { display: block; font-size: 15px; font-weight: 400; font-stretch: 100%; letter-spacing: 0; color: var(--soft); margin-top: 2px; line-height: 1.45; }
.v4p .idx-stage { position: sticky; top: 92px; }
.v4p .idx-disc { background: var(--sun-tint); border: 1px solid var(--sun-line); border-radius: var(--r-lg); clip-path: none; padding: 36px clamp(20px, 3vw, 36px); min-height: 480px; display: grid; place-items: center; }
.v4p .prev { display: none; }
.v4p .prev.on { display: block; }

/* Mock product cards used as illustrations */
.v4p [data-ui] { border-radius: var(--r-lg); }
.v4p .ui-top { display: flex; align-items: center; gap: 10px; padding: 14px 18px; background: var(--paper); border-bottom: 1px solid var(--line); border-radius: var(--r-lg) var(--r-lg) 0 0; }
.v4p .ui-top b { font-size: 15px; color: var(--ink); }
.v4p .ui-top span { font-size: 13px; color: var(--soft); }
.v4p .ui-top .sample { margin-left: auto; font-size: 12px; font-weight: 620; background: var(--ink); color: #fff; padding: 3px 9px; border-radius: 999px; }
.v4p .packet { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 22px; display: grid; gap: 12px; }
.v4p .packet .cover { background: var(--night); color: #fff; padding: 18px; border-radius: var(--r); }
.v4p .packet .cover b { display: block; font-size: 19px; color: #fff; }
.v4p .packet .cover span { color: var(--on-night-soft); font-size: 13px; }
.v4p .packet ul { list-style: none; padding: 0; display: grid; gap: 7px; font-size: 14px; }
.v4p .packet li { display: flex; gap: 10px; align-items: flex-start; }
.v4p .packet li::before { content: ''; flex: none; width: 8px; height: 8px; margin-top: 6px; border-radius: 50%; background: var(--sun); }
.v4p .src { display: grid; gap: 4px; padding: 12px 14px; background: var(--paper); border-radius: var(--r); }
.v4p .src-lab { display: inline-flex; align-self: start; justify-self: start; font-size: 12px; font-weight: 640; padding: 2px 10px; border-radius: 999px; background: var(--sun); color: var(--sun-ink); clip-path: none; }
.v4p .src-lab.c { background: #E1E4EA; }
.v4p .src-lab.s { background: #CBD0D8; }
.v4p .src-lab.m { background: var(--ink); color: #fff; }

/* Questions */
.v4p .faq { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.v4p .faq-head { position: sticky; top: 92px; }
.v4p .faq-head p { margin-top: 16px; }
.v4p .faq-cat { margin: 44px 0 14px; font-size: clamp(22px, 2vw, 28px); }
.v4p .faq-cat:first-child { margin-top: 0; }
.v4p .tiles { display: grid; gap: 0; border-top: 1px solid var(--line); }
.v4p .tile { border-bottom: 1px solid var(--line); background: none; }
.v4p .tile summary { list-style: none; cursor: pointer; padding: 20px 44px 20px 0; position: relative; color: var(--ink); font-weight: 640; font-size: 17px; line-height: 1.35; min-height: 0; }
.v4p .tile summary::-webkit-details-marker { display: none; }
.v4p .tile summary::before { content: none; }
.v4p .tile summary::after { content: ''; position: absolute; right: 8px; top: 26px; width: 9px; height: 9px; border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink); background: none; transform: rotate(45deg); transition: transform .15s; }
.v4p .tile[open] { background: none; }
.v4p .tile[open] summary::after { transform: rotate(-135deg); top: 30px; }
.v4p .tile .ans { padding: 0 0 20px; font-size: 16px; max-width: 62ch; }
.v4p .tile .ans p + p { margin-top: 10px; }
.v4p .tile .ans a { color: var(--ink); font-weight: 600; text-decoration-color: var(--sun); text-decoration-thickness: 2px; text-underline-offset: 3px; }

/* Closing band, with the waitlist form */
.v4p .cta { background: var(--night); color: var(--on-night-soft); padding: clamp(56px, 7vw, 96px) 0; }
.v4p .cta h2 { color: var(--on-night); font-size: clamp(30px, 3.6vw, 48px); }
.v4p .cta-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 440px); gap: clamp(32px, 6vw, 88px); align-items: center; }
.v4p .cta .after { margin-top: 16px; max-width: 34em; font-size: 17px; }
.v4p .cta .after.small { font-size: 15px; }
.v4p .cta .textlink { color: var(--on-night); }
.v4p .cta .actions, .v4p .cta-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.v4p .cta-pose { width: 130px; margin-bottom: 20px; }
.v4p .dlg { background: var(--white); border-radius: var(--r-lg); overflow: hidden; color: var(--body); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .5); }
.v4p .dlg .ui-top { background: var(--white); border: 0; padding: 22px 22px 4px; }
.v4p .dlg .ui-top b { font-size: 20px; font-weight: 700; font-stretch: 106%; }
.v4p .dlg form { padding: 10px 22px 22px; display: grid; gap: 14px; }
.v4p .dlg label { font-size: 13px; font-weight: 620; color: var(--soft); display: grid; gap: 6px; }
.v4p .dlg input[type=text], .v4p .dlg input[type=email] { font: 400 16px var(--head); padding: 12px 14px; border-radius: var(--r-sm); border: 1px solid var(--line-2); background: var(--white); color: var(--ink); }
.v4p .dlg input:focus-visible { outline: 3px solid var(--sun); outline-offset: 0; border-color: var(--ink); }
.v4p .seg { display: grid; grid-template-columns: 1fr 1fr; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-sm); padding: 3px; margin: 0; }
.v4p .seg label { display: block; text-align: center; padding: 9px; border-radius: 6px; cursor: pointer; color: var(--ink); font-size: 14px; position: relative; }
.v4p .seg input { position: absolute; opacity: 0; }
.v4p .seg label:has(input:checked) { background: var(--white); box-shadow: 0 1px 3px rgba(23, 27, 34, .14); font-weight: 640; }
.v4p .seg label:has(input:focus-visible) { outline: 3px solid var(--sun); }
.v4p .dlg .btn { width: 100%; min-height: 50px; }
.v4p .wl { display: grid; gap: 10px; max-width: 520px; }
.v4p .wl-row { display: flex; gap: 8px; background: var(--white); border: 1px solid var(--line-2); border-radius: 999px; padding: 5px 5px 5px 16px; }
.v4p .wl input[type=email], .v4p .wl input[type=text] { flex: 1; min-width: 0; border: 0; background: transparent; font: 400 16px var(--head); color: var(--ink); }
.v4p .wl input:focus-visible { outline: none; }
.v4p .wl-row:focus-within { outline: 3px solid var(--sun); }
.v4p .wl .btn { min-height: 42px; }
.v4p .wl .note { font-size: 14px; line-height: 1.5; }

/* Pricing page */
.v4p .plan-names { list-style: none; padding: 0; display: grid; gap: 4px; }
.v4p .plan-names button { all: unset; cursor: pointer; display: flex; align-items: center; gap: 14px; font-size: clamp(24px, 2.6vw, 36px); font-weight: 740; font-stretch: 110%; letter-spacing: -.02em; line-height: 1.2; color: var(--soft); padding: 6px 0; }
.v4p .plan-names button::before { content: ''; width: 12px; height: 12px; border-radius: 50%; border: 2px solid currentColor; flex: none; }
.v4p .plan-names button[aria-selected=true] { color: var(--ink); }
.v4p .plan-names button[aria-selected=true]::before { background: var(--sun); border-color: var(--sun); }
.v4p .plan-names button:focus-visible { outline: 3px solid var(--sun); outline-offset: 4px; border-radius: 4px; }
.v4p .f-ink .plan-names button { color: #7E879A; }
.v4p .f-ink .plan-names button[aria-selected=true] { color: #fff; }
.v4p .plan-stage { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(24px, 3vw, 40px); position: relative; }
.v4p .f-ink .plan-stage { background: var(--night-2); border-color: rgba(233, 236, 242, .14); color: var(--on-night-soft); }
.v4p .plan-stage .tagline { display: inline-block; font-size: 13px; font-weight: 640; padding: 4px 12px; background: var(--sun); color: var(--sun-ink); border-radius: 999px; clip-path: none; position: static; margin-bottom: 14px; }
.v4p .plan-panel { display: none; }
.v4p .plan-panel.on { display: block; }
.v4p .plan-panel ul { margin: 18px 0 24px; }
.v4p .plan-switch { display: inline-flex; gap: 4px; padding: 4px; background: var(--white); border: 1px solid var(--line); border-radius: 999px; margin-bottom: 28px; }
.v4p .plan-switch button { border: 0; background: none; cursor: pointer; font: 600 15px/1 var(--head); color: var(--body); height: 42px; padding: 0 18px; border-radius: 999px; display: inline-flex; align-items: center; gap: 8px; }
.v4p .plan-switch button small { font-size: 13px; font-weight: 500; color: var(--soft); }
.v4p .plan-switch button[aria-selected=true] { background: var(--ink); color: #fff; }
.v4p .plan-switch button[aria-selected=true] small { color: var(--on-night-soft); }
.v4p .pcards { list-style: none; padding: 0; display: grid; gap: 16px; }
.v4p .pcards.two { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 880px; }
.v4p .pcards.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.v4p .pcard { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 28px; display: flex; flex-direction: column; gap: 10px; }
.v4p .pcard.feature { border: 2px solid var(--sun); padding: 27px; }
.v4p .pcard.dark { background: var(--night); border-color: var(--night); color: var(--on-night-soft); }
.v4p .pcard h2 { font-size: 22px; font-stretch: 106%; letter-spacing: -.01em; }
.v4p .pcard.dark h2, .v4p .pcard.dark .pprice { color: var(--on-night); }
.v4p .pprice { color: var(--ink); font-size: 40px; line-height: 1; font-weight: 760; font-stretch: 112%; letter-spacing: -.025em; margin: 8px 0 0; }
.v4p .pprice small { display: block; margin-top: 8px; font-size: 14px; font-weight: 500; letter-spacing: 0; font-stretch: 100%; color: var(--soft); }
.v4p .pcard.dark .pprice small { color: var(--on-night-soft); }
.v4p .pdesc { margin: 4px 0 0; color: var(--ink); font-weight: 560; }
.v4p .pcard.dark .pdesc { color: var(--on-night); }
.v4p .pcard .ticks { margin: 10px 0 12px; }
.v4p .pcard .ticks li { font-size: 15px; }
.v4p .pcard.dark .textlink { color: var(--on-night); }
.v4p .pcta { margin-top: auto; padding-top: 8px; display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.v4p .pnote { font-size: 14px; line-height: 1.55; margin: 18px 0 0; max-width: 90ch; }
.v4p .pcard .pnote { margin: 0; }
.v4p .compare { margin-top: clamp(48px, 6vw, 80px); }
.v4p .table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--white); }
.v4p .compare table { width: 100%; border-collapse: collapse; font-size: 15px; min-width: 640px; }
.v4p .compare th, .v4p .compare td { padding: 12px 16px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.v4p .compare thead th { background: var(--paper); color: var(--ink); font-size: 14px; }
.v4p .compare tbody th { color: var(--ink); font-weight: 560; }
.v4p .compare tr.grp th { background: var(--paper); font-size: 13px; font-weight: 680; color: var(--soft); padding-top: 18px; }
.v4p .compare .no { color: var(--soft); }
.v4p .compare .yes { color: var(--ok); font-weight: 700; }
.v4p .compare tr:last-child > * { border-bottom: 0; }

@media (max-width: 960px) {
  .v4p .pcards.two, .v4p .pcards.three { grid-template-columns: 1fr; }
  .v4p .phero-grid, .v4p .doc, .v4p .split, .v4p .idx, .v4p .faq, .v4p .cta-grid { grid-template-columns: 1fr; }
  .v4p .phero .pose { height: 160px; order: -1; }
  .v4p .aside, .v4p .faq-head, .v4p .idx-stage { position: static; }
  .v4p .idx-stage { order: -1; }
  .v4p .idx-disc { min-height: 0; }
  .v4p .related { grid-template-columns: 1fr 1fr; }
  .v4p .linkset { grid-template-columns: 1fr 1fr; }
  .v4p .linkset li:nth-child(3n) { border-right: 1px solid var(--line); }
  .v4p .linkset li:nth-child(2n) { border-right: 0; }
}
@media (max-width: 640px) {
  .v4p .related, .v4p .linkset { grid-template-columns: 1fr; }
  .v4p .linkset li { border-right: 0 !important; }
  .v4p .rows li { grid-template-columns: 1fr; gap: 4px; }
  .v4p .posts li a { grid-template-columns: 1fr; gap: 6px; }
  .v4p .phones .phone { width: 44vw; }
  .v4p .prose { font-size: 17px; }
}
@media (max-width: 560px) {
  .v4p .plan-switch { display: flex; width: 100%; }
  .v4p .plan-switch button { flex: 1; justify-content: center; padding: 0 10px; }
  .v4p .plan-switch button small { display: none; }
}
