/* Pencil & Paid page: approved gold pencil/check, charcoal, and warm paper identity inside the BR Software shell. */
.pencil-page { --pp-charcoal:#1c2024; --pp-gold:#f0a802; --pp-paper:#fcf9ef; --pp-sand:#f4ecd6; --pp-ink:#2b3036; --pp-muted:#555b63; --pp-rule:#ddd2b6; background:var(--pp-paper); color:var(--pp-charcoal); }
.pencil-page main { display:block; }
.pencil-page h1, .pencil-page h2, .pencil-page h3 { margin:0; font-weight:600; letter-spacing:-.035em; text-wrap:balance; }
.pencil-page h1 { font-size:clamp(46px,6vw,78px); line-height:1.02; }
.pencil-page h2 { font-size:clamp(30px,3.4vw,44px); line-height:1.12; }
.pencil-page h3 { font-size:22px; line-height:1.25; letter-spacing:-.02em; }
.pencil-page p { line-height:1.65; }
.pencil-page a { text-underline-offset:4px; }
.pencil-page a:focus-visible, .pencil-page summary:focus-visible { outline:3px solid #1b6fa8; outline-offset:4px; }
.pp-kicker { margin:0 0 18px; font-size:14px; font-weight:650; color:#7a5300; }

.pp-hero { padding:72px 0 80px; border-bottom:1px solid var(--pp-rule); }
.pp-hero-grid { display:grid; grid-template-columns:1.3fr 1fr; gap:72px; align-items:start; }
.pp-hero-grid > * { min-width:0; }
.pp-name { display:flex; align-items:center; gap:14px; margin-bottom:28px; font-size:20px; font-weight:650; }
.pp-name img { border-radius:10px; display:block; }
.pp-lede { margin:28px 0 12px; font-size:clamp(22px,2.4vw,28px); font-weight:600; letter-spacing:-.02em; }
.pp-sub { max-width:560px; margin:0; font-size:18px; color:var(--pp-ink); }
.pp-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px 26px; margin:32px 0 18px; }
.pp-button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:13px 26px; border-radius:7px; background:var(--pp-gold); color:var(--pp-charcoal); font-weight:700; text-decoration:none; border:1px solid #c98f00; }
.pp-button:hover { background:#ffbd2e; }
.pp-link { font-weight:650; color:inherit; }
.pp-note { margin:0; max-width:520px; font-size:14px; color:var(--pp-muted); }
.pp-who { padding:28px 30px; background:#fff; border:1px solid var(--pp-rule); border-left:5px solid var(--pp-gold); border-radius:6px; }
.pp-who h2 { font-size:15px; letter-spacing:.02em; color:#7a5300; margin-bottom:12px; font-weight:650; }
.pp-who p { margin:0 0 14px; font-size:17px; color:var(--pp-ink); }
.pp-who .pp-already { margin:18px 0 0; padding-top:18px; border-top:1px solid var(--pp-rule); font-size:15px; color:var(--pp-muted); }

.pp-section { padding:84px 0; border-bottom:1px solid var(--pp-rule); }
.pp-steps { list-style:none; margin:44px 0 0; padding:0; border-top:1px solid var(--pp-rule); }
.pp-steps li { display:grid; grid-template-columns:64px 1fr 240px; gap:8px 28px; padding:30px 0; border-bottom:1px solid var(--pp-rule); align-items:start; }
.pp-steps li > span { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--pp-charcoal); color:var(--pp-gold); font-weight:700; }
.pp-steps p { margin:10px 0 0; max-width:680px; font-size:17px; color:var(--pp-ink); }
.pp-two { display:grid; grid-template-columns:1fr 1.2fr; gap:72px; align-items:start; }
.pp-two > * { min-width:0; }
.pp-two p { margin:0 0 16px; font-size:18px; color:var(--pp-ink); }

.pp-payments { background:var(--pp-charcoal); color:var(--pp-paper); border-bottom:0; }
.pp-payments .pp-kicker { color:var(--pp-gold); }
.pp-payments p { color:#e7e2d3; }

.pp-plans { padding:84px 0; background:var(--pp-sand); border-bottom:1px solid var(--pp-rule); }
.pp-plan-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 48px; margin:40px 0 28px; max-width:820px; }
.pp-plan-list > div { padding:26px 0; border-top:2px solid var(--pp-charcoal); }
.pp-plan-list dt { font-size:15px; font-weight:650; color:#7a5300; }
.pp-plan-list dd { margin:6px 0 0; font-size:17px; color:var(--pp-ink); }
.pp-price { font-size:46px; font-weight:650; letter-spacing:-.03em; color:var(--pp-charcoal) !important; }
.pp-price span { font-size:17px; font-weight:500; letter-spacing:0; color:var(--pp-muted); }
.pp-terms { max-width:760px; margin:0; padding-left:20px; color:var(--pp-ink); font-size:16px; line-height:1.7; }
.pp-terms li { margin-bottom:8px; }

.pp-faq-list details { border-top:1px solid var(--pp-rule); padding:18px 0; }
.pp-faq-list details:last-child { border-bottom:1px solid var(--pp-rule); }
.pp-faq-list summary { cursor:pointer; font-size:19px; font-weight:600; }
.pp-faq-list details p { margin:12px 0 0; font-size:17px; }

.pp-closing { padding:76px 0; background:var(--pp-gold); color:var(--pp-charcoal); }
.pp-closing p { margin:14px 0 0; font-size:18px; }
.pp-closing .pp-button { background:var(--pp-charcoal); color:var(--pp-paper); border-color:var(--pp-charcoal); }
.pp-closing .pp-button:hover { background:#000; }

@media (max-width:900px) {
  .pp-hero { padding:44px 0 52px; }
  .pp-hero-grid, .pp-two { grid-template-columns:1fr; gap:36px; }
  .pp-section, .pp-plans { padding:56px 0; }
  .pp-steps li { grid-template-columns:1fr; }
  .pp-steps .pp-shot { width:min(260px,100%); margin-top:18px; }
  .pp-plan-list { grid-template-columns:1fr; }
  .pp-actions .pp-button { width:100%; }
}

.pp-shot-note { margin:12px 0 0; font-size:15px; color:var(--pp-muted); }
.pp-shot { margin:0; width:240px; }
.pp-shot img { display:block; width:100%; height:auto; border:1px solid var(--pp-rule); border-radius:16px; box-shadow:0 12px 30px #1c20241f; background:#fff; }
.pp-shot figcaption { margin-top:10px; font-size:13px; color:var(--pp-muted); }
@media (max-width:1000px) and (min-width:901px) { .pp-steps li { grid-template-columns:64px 1fr 200px; } .pp-shot { width:200px; } }
