/* Postscript website (post-script.app) */
:root{
  --bg:#fbf8f3; --paper:#ffffff; --ink:#1d1a16; --muted:#6c645a; --line:#ece4d8;
  --accent:#e8874a; --accent-deep:#c9672a; --soft:#f4ede3; --radius:16px;
  --serif:'Fraunces', Georgia, 'Times New Roman', serif;
  --sans:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:84px; }
body.ps-site{ margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans); font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased; }
.ps-site a{ color:inherit; }
.ps-site img{ max-width:100%; height:auto; display:block; }
.ps-wrap{ max-width:1140px; margin:0 auto; padding:0 24px; }
.ps-eyebrow{ display:inline-block; font-size:13px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--accent-deep); margin-bottom:8px; }
.ps-h2{ font-family:var(--serif); font-weight:600; font-size:clamp(30px,4vw,44px); line-height:1.12; letter-spacing:-.01em; margin:0 0 10px; }
.ps-lead{ color:var(--muted); font-size:19px; max-width:640px; margin:0 0 8px; }
.ps-section{ padding:60px 0; }
.ps-section.alt{ background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.ps-center{ text-align:center; }
.ps-center .ps-lead{ margin-left:auto; margin-right:auto; }

/* Buttons */
.ps-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:14px 22px; border-radius:999px; font-weight:600; font-size:16px; text-decoration:none; border:1.5px solid transparent; cursor:pointer; transition:transform .15s ease, background .15s ease, box-shadow .15s ease; font-family:var(--sans); }
.ps-btn:hover{ transform:translateY(-1px); }
.ps-btn-dark{ background:var(--ink); color:#fff !important; box-shadow:0 8px 22px rgba(29,26,22,.18); }
.ps-btn-dark:hover{ background:#000; }
.ps-btn-accent{ background:var(--accent); color:#fff !important; box-shadow:0 8px 22px rgba(232,135,74,.3); }
.ps-btn-accent:hover{ background:var(--accent-deep); }
.ps-btn-ghost{ background:transparent; color:var(--ink) !important; border-color:#d9cfc1; }
.ps-btn-ghost:hover{ background:var(--soft); }

/* Nav */
.ps-nav{ position:sticky; top:0; z-index:50; background:rgba(251,248,243,.85); backdrop-filter:saturate(1.4) blur(12px); -webkit-backdrop-filter:saturate(1.4) blur(12px); border-bottom:1px solid transparent; transition:border-color .2s; }
.ps-nav.scrolled{ border-bottom-color:var(--line); }
.ps-nav-inner{ display:flex; align-items:center; gap:28px; height:68px; }
.ps-brand{ display:flex; align-items:center; gap:10px; text-decoration:none; font-weight:700; font-size:19px; letter-spacing:-.01em; }
.ps-brand img{ height:38px; width:auto; max-width:none; }
.ps-links{ display:flex; gap:26px; margin-left:auto; }
.ps-links a{ text-decoration:none; color:var(--muted); font-size:15px; font-weight:500; }
.ps-links a:hover{ color:var(--ink); }
.ps-nav .ps-btn{ padding:10px 18px; font-size:15px; }
.ps-mobile-only{ display:none; }
.ps-menu-btn{ display:none; margin-left:auto; background:none; border:1px solid var(--line); border-radius:10px; width:42px; height:40px; font-size:20px; cursor:pointer; color:var(--ink); }

/* Hero */
.ps-hero{ padding:40px 0 56px; }
.ps-hero-grid{ display:grid; grid-template-columns:1.02fr 1fr; gap:48px; align-items:center; }
.ps-hero h1{ font-family:var(--serif); font-weight:600; font-size:clamp(40px,5.4vw,64px); line-height:1.04; letter-spacing:-.02em; margin:0 0 16px; }
.ps-hero h1 em{ font-style:italic; color:var(--accent-deep); }
.ps-hero p.ps-lead{ font-size:19px; margin-bottom:22px; }
.ps-cta{ display:flex; gap:12px; flex-wrap:wrap; }
.ps-trust{ margin-top:16px; color:var(--muted); font-size:14px; display:flex; gap:18px; flex-wrap:wrap; }
.ps-trust span::before{ content:'✓'; color:var(--accent-deep); font-weight:700; margin-right:6px; }
.ps-shot{ position:relative; }
.ps-window{ background:var(--paper); border-radius:14px; box-shadow:0 30px 70px rgba(40,28,16,.18), 0 2px 6px rgba(40,28,16,.06); overflow:hidden; border:1px solid var(--line); }
.ps-window-bar{ height:30px; display:flex; align-items:center; gap:6px; padding:0 12px; background:#f6f1ea; border-bottom:1px solid var(--line); }
.ps-window-bar i{ width:10px; height:10px; border-radius:50%; background:#e3d8ca; display:block; }
.ps-window-bar span{ margin-left:10px; font-size:11.5px; color:var(--muted); }
.ps-shot .ps-float{ position:absolute; width:44%; right:-6%; bottom:-10%; transform:rotate(3deg); }
.ps-shot .ps-float .ps-window-bar{ height:22px; }

/* Features */
.ps-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:28px; }
.ps-card{ background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:20px 20px; transition:box-shadow .2s, transform .2s; }
.ps-section.alt .ps-card{ background:var(--bg); }
.ps-card:hover{ box-shadow:0 14px 34px rgba(40,28,16,.08); transform:translateY(-2px); }
.ps-card .ps-ico{ width:46px; height:46px; border-radius:12px; background:var(--soft); display:flex; align-items:center; justify-content:center; font-size:23px; margin-bottom:12px; }
.ps-card h3{ font-size:18px; margin:0 0 6px; letter-spacing:-.01em; }
.ps-card p{ margin:0; color:var(--muted); font-size:15.5px; }

/* Showcase rows */
.ps-row{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; margin-top:44px; }
.ps-grid + .ps-row{ margin-top:44px; }
.ps-row.flip .ps-row-text{ order:2; }
.ps-row h3{ font-family:var(--serif); font-size:30px; font-weight:600; line-height:1.15; margin:0 0 12px; }
.ps-row p{ color:var(--muted); margin:0 0 16px; }
.ps-ticks{ list-style:none; padding:0; margin:0; }
.ps-ticks li{ padding-left:28px; position:relative; margin:8px 0; font-size:16px; }
.ps-ticks li::before{ content:''; position:absolute; left:0; top:7px; width:16px; height:16px; border-radius:50%; background:var(--accent); box-shadow:inset 0 0 0 4px #fde6d6; }

/* Pricing */
.ps-prices{ display:grid; grid-template-columns:1fr 1.15fr; gap:22px; margin-top:28px; align-items:start; }
.ps-price{ background:var(--paper); border:1px solid var(--line); border-radius:20px; padding:28px 26px; }
.ps-price.pro{ border:2px solid var(--ink); box-shadow:0 24px 60px rgba(40,28,16,.12); position:relative; }
.ps-price .ps-badge{ position:absolute; top:-13px; left:30px; background:var(--accent); color:#fff; font-size:12.5px; font-weight:700; padding:5px 12px; border-radius:999px; letter-spacing:.03em; }
.ps-price h3{ margin:0; font-size:20px; }
.ps-amount{ font-family:var(--serif); font-size:52px; font-weight:600; line-height:1; margin:14px 0 4px; }
.ps-amount small{ font-family:var(--sans); font-size:15px; font-weight:500; color:var(--muted); margin-left:6px; }
.ps-price .ps-note{ color:var(--muted); font-size:14.5px; margin:0 0 20px; }
.ps-price .ps-ticks li{ font-size:15.5px; }
.ps-form-box{ margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }
.ps-form-box .ps-form-title{ font-weight:700; margin:0 0 4px; }
.ps-form-box .ps-form-sub{ color:var(--muted); font-size:14px; margin:0 0 14px; }
.ps-warn{ background:#fff4e5; border:1px solid #f3c48b; padding:12px 14px; border-radius:10px; font-size:14px; }
.ps-site .fluentform .ff-btn-submit{ background:var(--ink) !important; border-color:var(--ink) !important; border-radius:999px !important; padding:12px 22px !important; font-weight:600 !important; }

/* FAQ */
.ps-faq{ max-width:760px; margin:28px auto 0; }
.ps-faq details{ background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:14px 20px; margin-bottom:10px; }
.ps-faq summary{ cursor:pointer; font-weight:600; font-size:17px; list-style:none; display:flex; justify-content:space-between; gap:16px; }
.ps-faq summary::-webkit-details-marker{ display:none; }
.ps-faq summary::after{ content:'+'; font-size:22px; line-height:1; color:var(--muted); }
.ps-faq details[open] summary::after{ content:'–'; }
.ps-faq details p{ color:var(--muted); margin:10px 0 0; }

/* About + contact */
.ps-about{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.ps-about p{ color:var(--muted); }
.ps-values{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.ps-value{ background:var(--bg); border:1px solid var(--line); border-radius:14px; padding:18px; }
.ps-value strong{ display:block; margin-bottom:4px; }
.ps-value span{ color:var(--muted); font-size:14.5px; }
.ps-contact{ display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:start; }
.ps-contact form{ background:var(--paper); border:1px solid var(--line); border-radius:20px; padding:28px; }
.ps-field{ margin-bottom:14px; }
.ps-field label{ display:block; font-size:14px; font-weight:600; margin-bottom:6px; }
.ps-field input, .ps-field textarea{ width:100%; font:inherit; font-size:16px; padding:12px 14px; border:1px solid #ddd2c4; border-radius:10px; background:#fffdfa; color:var(--ink); }
.ps-field input:focus, .ps-field textarea:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(232,135,74,.18); }
.ps-field textarea{ min-height:140px; resize:vertical; }
.ps-hp{ position:absolute !important; left:-9999px !important; }
.ps-form-status{ margin-top:12px; font-size:15px; }
.ps-form-status.ok{ color:#1e7a44; }
.ps-form-status.err{ color:#b3261e; }
.ps-contact-links a{ display:flex; align-items:center; gap:10px; text-decoration:none; padding:12px 0; border-bottom:1px solid var(--line); color:var(--ink); font-weight:500; }

/* Final CTA + footer */
.ps-final{ background:var(--ink); color:#fff; border-radius:24px; padding:36px 40px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.ps-final h2{ font-family:var(--serif); font-weight:600; font-size:clamp(28px,3.4vw,38px); margin:0 0 6px; }
.ps-final p{ margin:0; color:rgba(255,255,255,.7); }
.ps-final .ps-btn-ghost{ color:#fff !important; border-color:rgba(255,255,255,.35); }
.ps-final .ps-btn-ghost:hover{ background:rgba(255,255,255,.08); }
.ps-footer{ padding:28px 0 32px; color:var(--muted); font-size:14.5px; }
.ps-footer-inner{ display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; }
.ps-footer nav{ display:flex; gap:22px; flex-wrap:wrap; }
.ps-footer a{ text-decoration:none; }
.ps-footer a:hover{ color:var(--ink); }


/* Menu: current page */
.ps-links a.active{ color:var(--ink); font-weight:600; position:relative; }
.ps-links a.active::after{ content:''; position:absolute; left:0; right:0; bottom:-6px; height:2px; border-radius:2px; background:var(--accent); }

/* Inner page header */
.ps-page-head{ padding:44px 0 8px; }
.ps-page-head h1{ font-family:var(--serif); font-weight:600; font-size:clamp(38px,5vw,58px); line-height:1.06; letter-spacing:-.02em; margin:0 0 16px; max-width:820px; }
.ps-page-head .ps-lead{ font-size:20px; max-width:720px; }
.ps-h3{ font-family:var(--serif); font-weight:600; font-size:26px; margin:0 0 12px; }
.ps-prose p{ color:var(--muted); margin:0 0 16px; }
.ps-prose .ps-h3 + p{ margin-top:0; }
.ps-prose .ps-h3:not(:first-child){ margin-top:26px; }
.ps-steps{ list-style:none; counter-reset:step; padding:0; margin:0; }
.ps-steps li{ counter-increment:step; position:relative; padding:0 0 18px 50px; color:var(--muted); }
.ps-steps li strong{ color:var(--ink); }
.ps-steps li::before{ content:counter(step); position:absolute; left:0; top:-2px; width:34px; height:34px; border-radius:50%; background:var(--ink); color:#fff; font-weight:700; font-size:15px; display:flex; align-items:center; justify-content:center; }
.ps-grid-4{ grid-template-columns:repeat(4,1fr); }
.ps-card-row{ display:flex; gap:16px; align-items:flex-start; }
.ps-card-row .ps-ico{ flex-shrink:0; margin-bottom:0; }

/* Contact page */
.ps-contact-cards{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.ps-contact-cards .ps-card{ padding:22px; }
.ps-contact-cards a{ color:var(--accent-deep); }

/* Home: About/Contact teasers */
.ps-teasers{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.ps-teaser{ display:block; text-decoration:none; background:var(--bg); border:1px solid var(--line); border-radius:20px; padding:26px 26px; transition:box-shadow .2s, transform .2s; }
.ps-teaser:hover{ box-shadow:0 16px 40px rgba(40,28,16,.1); transform:translateY(-2px); }
.ps-teaser h3{ font-family:var(--serif); font-size:28px; font-weight:600; margin:0 0 8px; color:var(--ink); }
.ps-teaser p{ color:var(--muted); margin:0 0 12px; }
.ps-teaser-link{ font-weight:600; color:var(--accent-deep); }
.ps-footer-brand{ display:flex; align-items:center; gap:10px; }
.ps-footer-brand img{ height:24px; width:auto; max-width:none; }
.ps-faq a{ color:var(--accent-deep); font-weight:600; text-decoration:none; }

@media (max-width:960px){
  .ps-grid-4{ grid-template-columns:1fr 1fr; }
  .ps-teasers{ grid-template-columns:1fr; }
}
@media (max-width:760px){
  .ps-links a.active::after{ display:none; }
  .ps-nav.open .ps-links a.active{ color:var(--accent-deep); }
  .ps-page-head{ padding:30px 0 4px; }
  .ps-contact-cards, .ps-grid-4{ grid-template-columns:1fr; }
}

/* Responsive */
@media (max-width:960px){
  .ps-hero-grid, .ps-row, .ps-about, .ps-contact, .ps-prices{ grid-template-columns:1fr; gap:36px; }
  .ps-row.flip .ps-row-text{ order:0; }
  .ps-grid{ grid-template-columns:1fr 1fr; }
  .ps-shot .ps-float{ right:-2%; }
}
@media (max-width:760px){
  .ps-links, .ps-nav-inner > .ps-btn{ display:none; }
  .ps-menu-btn{ display:block; }
  .ps-nav.open .ps-links{ display:flex; flex-direction:column; position:absolute; top:68px; left:0; right:0; background:var(--bg); padding:12px 24px 20px; border-bottom:1px solid var(--line); gap:14px; }
  .ps-nav.open .ps-links a{ font-size:17px; color:var(--ink); }
  .ps-nav.open .ps-links a.ps-mobile-only{ display:block; font-weight:700; color:var(--accent-deep); }
  .ps-section{ padding:44px 0; }
  .ps-hero{ padding:26px 0 48px; }
  .ps-brand img{ height:32px; }
  .ps-grid{ grid-template-columns:1fr; }
  .ps-values{ grid-template-columns:1fr; }
  .ps-final{ padding:30px 24px; }
  body.ps-site{ font-size:16px; }
}

/* ── Tighter vertical rhythm helpers ── */
.ps-section-final{ padding:40px 0 8px; }
.ps-who{ padding-top:8px; }
.ps-who .ps-grid{ margin-top:20px; }
.ps-card-row h3{ margin-bottom:2px; }
.ps-card-row p{ font-size:15px; line-height:1.5; }
.ps-page-head + .ps-section{ padding-top:24px; }

/* ── Stripe buy button (pricing card) ── */
.ps-stripe-buy{ text-align:left; }
.ps-stripe-btn{ width:100%; font-size:17px; padding:15px 22px; }
.ps-stripe-buy p{ color:var(--muted); font-size:13.5px; margin:10px 0 0; text-align:center; }

/* ── License page ── */
.ps-narrow{ max-width:720px; }
.ps-license-head{ text-align:center; }
.ps-license-head h1{ margin-left:auto; margin-right:auto; }
.ps-license-head .ps-lead{ margin-left:auto; margin-right:auto; }
.ps-license-head .ps-lead a{ color:var(--accent-deep); font-weight:600; }
.ps-license-body{ padding-bottom:48px; }
.ps-license-card{ background:var(--paper); border:2px solid var(--ink); border-radius:22px; padding:28px 28px 22px; text-align:center; box-shadow:0 24px 60px rgba(40,28,16,.12); }
.ps-license-label{ font-size:13px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:10px; }
.ps-license-code{ font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:clamp(24px,4.4vw,34px); font-weight:700; letter-spacing:.05em;
  background:var(--soft); border:1.5px dashed #d9cfc1; border-radius:14px; padding:16px 14px; margin:0 0 18px; word-break:break-all; user-select:all; }
.ps-license-actions{ justify-content:center; }
.ps-license-save{ color:var(--muted); font-size:14px; margin:16px 0 0; }
.ps-license-steps{ margin-top:32px; }
@media (max-width:760px){
  .ps-license-card{ padding:22px 16px 18px; }
  .ps-license-actions .ps-btn{ width:100%; }
}

/* ── Extension license page (codes for each plugin) ── */
.ps-license-toolbar{ justify-content:center; margin-bottom:20px; }
.ps-license-toolbar .ps-btn{ padding:10px 18px; font-size:15px; }
.ps-license-card + .ps-license-card{ margin-top:16px; }
.ps-license-card-sm{ box-shadow:none; border:1.5px solid var(--line); padding:20px 22px 18px; }
.ps-license-card-sm .ps-license-code{ font-size:clamp(20px,3.4vw,26px); padding:12px; margin-bottom:14px; }
@media print{
  .ps-nav, .ps-footer, .ps-license-toolbar, .ps-license-actions{ display:none !important; }
  body.ps-site{ background:#fff; }
  .ps-license-card{ box-shadow:none; }
}

/* ── Pro page, About badge, contact form card, firm button styles ── */
.ps-tight-top{ padding-top:24px; }
.ps-steps-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:40px 0 0; }
.ps-steps-row > div{ background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:22px; }
.ps-steps-row span{ display:inline-flex; width:30px; height:30px; border-radius:50%; background:var(--ink); color:#fff; font-weight:700; font-size:14px; align-items:center; justify-content:center; margin-bottom:10px; }
.ps-steps-row strong{ display:block; font-size:17px; margin-bottom:4px; }
.ps-steps-row p{ margin:0; color:var(--muted); font-size:15px; }
.ps-made{ margin-top:18px; display:flex; flex-direction:column; gap:2px; background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:16px 18px; }
.ps-made span{ color:var(--muted); font-size:14.5px; }
.ps-contact-form{ background:var(--paper); border:1px solid var(--line); border-radius:20px; padding:28px; }
.ps-contact form#psContactForm{ padding:28px; }

/* Keep every button looking right whatever the WordPress theme does. */
.ps-site .ps-btn, .ps-site .ps-btn:hover, .ps-site .ps-btn:focus{ text-decoration:none !important; text-transform:none !important; letter-spacing:normal !important; outline:none !important; line-height:1.2 !important; }
.ps-site .ps-btn-dark, .ps-site button.ps-btn-dark{ background:var(--ink) !important; color:#fff !important; border:1.5px solid var(--ink) !important; }
.ps-site .ps-btn-dark:hover, .ps-site button.ps-btn-dark:hover, .ps-site .ps-btn-dark:focus-visible{ background:#000 !important; border-color:#000 !important; color:#fff !important; }
.ps-site .ps-btn-dark:disabled{ opacity:.7; }
.ps-site .ps-btn-accent{ background:var(--accent) !important; color:#fff !important; border:1.5px solid var(--accent) !important; }
.ps-site .ps-btn-accent:hover{ background:var(--accent-deep) !important; border-color:var(--accent-deep) !important; }
.ps-site .ps-btn-ghost{ background:transparent !important; color:var(--ink) !important; border:1.5px solid #d9cfc1 !important; }
.ps-site .ps-btn-ghost:hover{ background:var(--soft) !important; }
.ps-site .ps-final .ps-btn-ghost{ color:#fff !important; border-color:rgba(255,255,255,.35) !important; }
.ps-site .ps-final .ps-btn-ghost:hover{ background:rgba(255,255,255,.08) !important; }
.ps-site .ps-menu-btn{ background:transparent !important; color:var(--ink) !important; border:1px solid var(--line) !important; }
.ps-site a:hover{ color:inherit; }
.ps-site .ps-links a:hover{ color:var(--ink) !important; }
.ps-site .ps-contact-cards a, .ps-site .ps-faq a{ color:var(--accent-deep) !important; }
.ps-site .ps-field input, .ps-site .ps-field textarea{ border:1px solid #ddd2c4 !important; box-shadow:none !important; }
.ps-site .ps-field input:focus, .ps-site .ps-field textarea:focus{ border-color:var(--accent) !important; box-shadow:0 0 0 3px rgba(232,135,74,.18) !important; }


@media (max-width:960px){ .ps-steps-row{ grid-template-columns:1fr; } }

/* ── Compact vertical rhythm (less spread out) ── */
body.ps-site{ line-height:1.55; }
.ps-section{ padding:40px 0; }
.ps-hero{ padding:28px 0 36px; }
.ps-hero h1{ margin:0 0 12px; }
.ps-hero p.ps-lead{ margin-bottom:18px; }
.ps-trust{ margin-top:12px; }
.ps-eyebrow{ margin-bottom:6px; }
.ps-h2{ margin:0 0 6px; }
.ps-lead{ margin-bottom:4px; }
.ps-page-head{ padding:32px 0 0; }
.ps-page-head h1{ margin:0 0 10px; }
.ps-page-head + .ps-section, .ps-tight-top{ padding-top:14px; }
.ps-who{ padding-top:4px; }
.ps-grid{ margin-top:20px; gap:12px; }
.ps-who .ps-grid{ margin-top:16px; }
.ps-card{ padding:16px 18px; }
.ps-card .ps-ico{ width:40px; height:40px; font-size:20px; margin-bottom:10px; }
.ps-card-row .ps-ico{ margin-bottom:0; }
.ps-row, .ps-grid + .ps-row, .ps-row:first-of-type{ margin-top:32px; gap:36px; }
.ps-row h3{ font-size:27px; margin:0 0 8px; }
.ps-row p{ margin:0 0 10px; }
.ps-ticks li{ margin:5px 0; }
.ps-prices{ margin-top:20px; gap:16px; }
.ps-price{ padding:22px 22px; }
.ps-amount{ margin:10px 0 2px; }
.ps-price .ps-note{ margin:0 0 14px; }
.ps-form-box{ margin-top:16px; padding-top:14px; }
.ps-steps-row{ margin:20px 0 0; gap:12px; }
.ps-steps-row > div{ padding:16px 18px; }
.ps-faq{ margin:20px auto 0; }
.ps-faq details{ padding:11px 18px; margin-bottom:8px; }
.ps-teasers{ gap:14px; }
.ps-teaser{ padding:20px 22px; }
.ps-teaser h3{ font-size:24px; margin:0 0 4px; }
.ps-about, .ps-contact{ gap:36px; }
.ps-prose .ps-h3:not(:first-child){ margin-top:18px; }
.ps-prose p{ margin:0 0 10px; }
.ps-steps li{ padding-bottom:10px; }
.ps-made{ margin-top:12px; padding:12px 16px; }
.ps-contact-form, .ps-contact form#psContactForm{ padding:22px; }
.ps-contact-cards{ gap:12px; }
.ps-contact-cards .ps-card{ padding:16px 18px; }
.ps-section-final{ padding:20px 0 0; }
.ps-final{ padding:26px 32px; }
.ps-footer{ padding:20px 0 24px; }
@media (max-width:760px){
  .ps-section{ padding:30px 0; }
  .ps-hero{ padding:18px 0 26px; }
  .ps-page-head{ padding:20px 0 0; }
  .ps-row, .ps-grid + .ps-row, .ps-row:first-of-type{ margin-top:24px; gap:18px; }
  .ps-hero-grid, .ps-about, .ps-contact, .ps-prices{ gap:22px; }
  .ps-final{ padding:22px 20px; }
  .ps-card{ padding:14px 16px; }
}

/* ── Guides (articles) ───────────────────────────────────────────────── */
a.ps-card{ display:block; color:inherit; text-decoration:none; }
a.ps-card.ps-card-row{ display:flex; }
.ps-guides-cat{ margin:0 0 4px; }
.ps-guide-card h3{ font-size:17px; line-height:1.3; margin:8px 0 6px; }
.ps-guide-card p{ font-size:14.5px; line-height:1.5; }
.ps-tag{ display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:3px 9px; border-radius:999px; }
.ps-tag-free{ background:#e3f4e6; color:#1f6b33; }
.ps-tag-pro{ background:#fde9d6; color:#9a4a12; }
.ps-crumbs{ font-size:14px; color:var(--muted); margin-bottom:10px; }
.ps-crumbs a{ color:var(--accent-deep); text-decoration:none; font-weight:600; }
.ps-article .ps-page-head h1{ font-size:clamp(32px,4.4vw,48px); }
.ps-article .ps-lead{ font-size:18px; }
.ps-article-cta{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 12px; margin:22px 0 4px; }
.ps-article-note{ flex-basis:100%; font-size:14px; color:var(--muted); }
.ps-article .ps-prose{ font-size:17px; }
.ps-article .ps-prose p{ line-height:1.65; }
.ps-article .ps-steps{ margin-bottom:8px; }
.ps-article .ps-steps li{ line-height:1.6; }
.ps-faq-left{ margin:12px 0 0; max-width:none; }

/* ── Homepage Pro band + on-page checkout ────────────────────────────── */
.ps-pro-band{ background:var(--ink); color:#fff; padding:18px 0; }
.ps-pro-band-inner{ display:flex; align-items:center; justify-content:space-between; gap:16px 24px; flex-wrap:wrap; }
.ps-pro-band-text{ display:flex; flex-direction:column; gap:2px; }
.ps-pro-band-text strong{ font-size:18px; }
.ps-pro-band-text span{ color:rgba(255,255,255,.75); font-size:15px; }
#buy{ scroll-margin-top:110px; }
.ps-page-home .ps-form-box{ background:var(--soft); border:1px solid var(--line); border-top:1px solid var(--line); border-radius:14px; padding:18px; }
.ps-page-home .ps-stripe-btn{ width:100%; justify-content:center; font-size:17px; padding:15px 20px; }
@media (max-width:600px){ .ps-pro-band .ps-btn{ width:100%; text-align:center; } }
