/* ===== Shared content / legal / blog / contact pages ===== */
.pg-wrap{max-width:1080px;margin:0 auto;padding:34px 24px 90px}
.pg-narrow{max-width:820px}

/* breadcrumb */
.pg-crumb{font-size:13px;color:var(--ink-soft);margin-bottom:18px}
.pg-crumb a{color:var(--purple);font-weight:600}
.pg-crumb span{margin:0 6px;opacity:.5}

/* page hero */
.pg-hero{margin-bottom:28px}
.pg-hero h1{font-family:'Fraunces',serif;font-size:clamp(30px,5vw,46px);font-weight:600;line-height:1.08;letter-spacing:-.5px}
.pg-hero h1 em{font-style:italic;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.pg-hero .lead{font-size:17px;color:var(--ink-soft);margin-top:12px;max-width:680px}
.pg-updated{font-size:13px;color:var(--ink-soft);margin-top:10px}
.pg-updated b{color:var(--ink)}

/* prose (policies + articles) */
.prose{
  background:var(--card);border:1px solid #f3e6ee;border-radius:20px;
  padding:34px 38px;box-shadow:var(--shadow-sm);
}
.prose h2{font-family:'Fraunces',serif;font-size:24px;font-weight:600;margin:30px 0 12px;letter-spacing:-.3px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:18px;font-weight:700;margin:22px 0 8px}
.prose p{color:#3a3238;margin:0 0 14px;font-size:15.5px}
.prose ul,.prose ol{margin:0 0 16px;padding-left:22px}
.prose li{color:#3a3238;margin-bottom:8px;font-size:15.5px}
.prose a{color:var(--purple);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.prose strong{color:var(--ink)}
.prose hr{border:none;border-top:1px solid #f0e4ec;margin:26px 0}
.prose .note{
  background:#faf5ff;border:1px solid #efe3fb;border-radius:14px;
  padding:14px 18px;margin:0 0 18px;font-size:14.5px;color:#4a3f52;
}
.prose table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:14.5px}
.prose th,.prose td{text-align:left;padding:11px 14px;border-bottom:1px solid #f0e4ec}
.prose th{font-size:12.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--ink-soft)}

/* table of contents (policies) */
.pg-toc{
  background:#fff;border:1px solid #f3e6ee;border-radius:16px;padding:18px 22px;margin-bottom:22px;
  box-shadow:var(--shadow-sm);
}
.pg-toc h4{font-size:12.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);margin-bottom:10px}
.pg-toc ol{margin:0;padding-left:18px;columns:2;column-gap:34px}
.pg-toc li{margin-bottom:6px;font-size:14px}
.pg-toc a{color:var(--ink);font-weight:500}
.pg-toc a:hover{color:var(--purple)}

/* ===== About ===== */
.ab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0}
.ab-card{background:var(--card);border:1px solid #f3e6ee;border-radius:18px;padding:24px;box-shadow:var(--shadow-sm)}
.ab-card .ico{width:44px;height:44px;border-radius:12px;background:var(--grad-soft);display:grid;place-items:center;margin-bottom:14px}
.ab-card h3{font-size:17px;font-weight:700;margin-bottom:6px}
.ab-card p{font-size:14px;color:var(--ink-soft)}
.ab-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}
.ab-step{position:relative;padding:22px;background:#fff;border:1px solid #f3e6ee;border-radius:18px}
.ab-step .n{font-family:'Fraunces',serif;font-weight:700;color:#fff;width:34px;height:34px;border-radius:50%;background:var(--grad);display:grid;place-items:center;margin-bottom:12px}
.ab-cta{
  text-align:center;background:var(--grad);color:#fff;border-radius:22px;
  padding:40px 28px;margin-top:34px;box-shadow:0 20px 50px -20px rgba(139,63,232,.7);
}
.ab-cta h2{font-family:'Fraunces',serif;font-size:30px;font-weight:600;margin-bottom:8px}
.ab-cta p{opacity:.9;margin-bottom:20px}
.ab-cta .btn-white{display:inline-block;background:#fff;color:var(--purple);font-weight:700;padding:13px 30px;border-radius:12px}

/* ===== Contact ===== */
.ct-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:22px;align-items:start}
.ct-cards{display:flex;flex-direction:column;gap:14px}
.ct-card{
  display:flex;gap:16px;align-items:flex-start;background:var(--card);
  border:1px solid #f3e6ee;border-radius:18px;padding:20px 22px;box-shadow:var(--shadow-sm);
}
.ct-card .ico{flex:none;width:46px;height:46px;border-radius:12px;background:var(--grad-soft);display:grid;place-items:center}
.ct-card h3{font-size:15px;font-weight:700;margin-bottom:3px}
.ct-card a,.ct-card p{font-size:15px;color:var(--ink-soft);word-break:break-word}
.ct-card a{color:var(--purple);font-weight:600}
.ct-form{background:var(--card);border:1px solid #f3e6ee;border-radius:20px;padding:26px 26px 28px;box-shadow:var(--shadow-sm)}
.ct-form h2{font-family:'Fraunces',serif;font-size:22px;font-weight:600;margin-bottom:4px}
.ct-form .sub{color:var(--ink-soft);font-size:14px;margin-bottom:18px}
.ct-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.ct-field label{font-size:13px;font-weight:600}
.ct-field input,.ct-field textarea{
  font-family:inherit;font-size:15px;padding:12px 14px;border-radius:12px;
  border:1.5px solid #ecdfe8;background:#fdfafc;color:var(--ink);transition:border-color .15s,box-shadow .15s;
}
.ct-field textarea{resize:vertical;min-height:120px}
.ct-field input:focus,.ct-field textarea:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 3px rgba(139,63,232,.12);background:#fff}
.ct-submit{width:100%;justify-content:center;background:var(--grad);color:#fff;font-weight:700;font-size:15px;padding:13px;border:none;border-radius:12px;cursor:pointer;transition:transform .12s}
.ct-submit:hover{transform:translateY(-1px)}

/* ===== Blog ===== */
.bl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
.bl-card{
  display:flex;flex-direction:column;background:var(--card);border:1px solid #f3e6ee;
  border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .18s,box-shadow .2s;
}
.bl-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.bl-thumb{height:120px;background:var(--grad-soft);position:relative;display:grid;place-items:center}
.bl-thumb .tag{position:absolute;top:12px;left:12px;background:#fff;color:var(--purple);font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px}
.bl-thumb svg{opacity:.5}
.bl-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.bl-body h2{font-family:'Fraunces',serif;font-size:19px;font-weight:600;line-height:1.2;margin-bottom:8px}
.bl-body p{font-size:14px;color:var(--ink-soft);flex:1}
.bl-meta{font-size:12.5px;color:var(--ink-soft);margin-top:14px;display:flex;gap:10px;align-items:center}
.bl-meta .dot{opacity:.5}
.bl-more{margin-top:14px;font-weight:700;color:var(--purple);font-size:14px}

/* article footer nav */
.bl-nav{display:flex;justify-content:space-between;gap:14px;margin-top:24px}
.bl-nav a{
  flex:1;background:var(--card);border:1px solid #f3e6ee;border-radius:14px;padding:16px 18px;
  box-shadow:var(--shadow-sm);transition:transform .12s;
}
.bl-nav a:hover{transform:translateY(-2px)}
.bl-nav .dir{font-size:12px;color:var(--ink-soft);font-weight:600}
.bl-nav .ttl{font-weight:700;font-size:14px;margin-top:3px}
.bl-nav .next{text-align:right}

/* ===== FAQ ===== */
.faq-list{max-width:820px}
.faq-item{background:var(--card);border:1px solid #f3e6ee;border-radius:16px;margin-bottom:12px;box-shadow:var(--shadow-sm);overflow:hidden}
.faq-item summary{
  list-style:none;cursor:pointer;padding:18px 22px;font-weight:700;font-size:16px;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:22px;color:var(--purple);font-weight:400;transition:transform .2s}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item .faq-a{padding:0 22px 20px;color:#3a3238;font-size:15px}
.faq-item .faq-a p{margin-bottom:10px}
.faq-cats h2{font-family:'Fraunces',serif;font-size:22px;font-weight:600;margin:26px 0 12px}

/* ===== responsive ===== */
@media(max-width:860px){
  .ab-grid,.ab-steps,.bl-grid{grid-template-columns:1fr 1fr}
  .ct-grid{grid-template-columns:1fr}
  .pg-toc ol{columns:1}
}
@media(max-width:600px){
  .pg-wrap{padding:24px 16px 70px}
  .prose{padding:24px 20px}
  .ab-grid,.ab-steps,.bl-grid{grid-template-columns:1fr}
  .bl-nav{flex-direction:column}
  .bl-nav .next{text-align:left}
}

/* ===== blog hero + table of contents ===== */
.bl-hero{margin:0 0 26px}
.bl-hero img{width:100%;height:auto;border-radius:16px;display:block}
.prose .bl-toc{background:#faf5ff;border:1px solid #efe3fb;border-radius:14px;padding:16px 22px;margin:0 0 28px}
.bl-toc-title,.prose .bl-toc>strong{display:block;font-size:12.5px !important;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);font-weight:700;margin:0 0 10px !important}
.prose .bl-toc ol,.prose .bl-toc ul{margin:0;padding-left:20px;columns:2;column-gap:30px}
.prose .bl-toc li{margin-bottom:7px;font-size:14.5px;color:var(--ink)}
.bl-toc a{color:var(--ink);font-weight:500;text-decoration:none}
.bl-toc a:hover{color:var(--purple);text-decoration:underline}
@media(max-width:600px){.prose .bl-toc ol,.prose .bl-toc ul{columns:1}}
