*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
  --pfa-primary:#5C2D82;
  --pfa-primary-dark:#431F5E;
  --pfa-accent:#4CC9F0;
  --pfa-deep:#221A2B;
  --pfa-surface:#F7F3FA;
  --pfa-foreground:#2A2430;
  --pfa-subtle:#6E6577;
  --pfa-stroke:#E3DCEC;
  --pfa-white:#FFFFFF;
}

html{scroll-behavior:smooth}

body{font-family:'Inter',sans-serif;color:var(--pfa-foreground);line-height:1.7;background:var(--pfa-white);font-weight:400}

h1,h2,h3,h4{font-family:'Archivo',sans-serif;color:var(--pfa-deep);font-weight:700;line-height:1.25}

a{color:var(--pfa-primary);text-decoration:none;transition:color .25s}
a:hover{color:var(--pfa-accent)}

img{max-width:100%;display:block;border-radius:8px}

.pfa-wrap{max-width:1160px;margin:0 auto;padding:0 20px}

/* Topbar */
.pfa-topbar{background:var(--pfa-deep);padding:9px 0}
.pfa-topbar-text{color:#D8CBE6;font-size:.78rem;text-align:center;line-height:1.5}

/* Header */
.pfa-header{background:var(--pfa-white);border-bottom:1px solid var(--pfa-stroke);position:sticky;top:0;z-index:50}
.pfa-header-inner{display:flex;align-items:center;justify-content:space-between;height:68px;position:relative}
.pfa-logo{font-family:'Archivo',sans-serif;font-weight:800;font-size:1.3rem;color:var(--pfa-primary)}
.pfa-logo span{color:var(--pfa-deep)}
.pfa-nav{display:flex;gap:28px;align-items:center}
.pfa-nav a{color:var(--pfa-foreground);font-weight:500;font-size:.95rem}
.pfa-nav a:hover{color:var(--pfa-primary)}

.pfa-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;width:26px}
.pfa-burger span{display:block;height:3px;background:var(--pfa-deep);border-radius:2px}

/* Hero */
.pfa-hero{padding:70px 0;background:var(--pfa-surface)}
.pfa-hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center}
.pfa-hero h1{font-size:2.3rem;margin-bottom:18px}
.pfa-hero-sub{font-size:1.05rem;color:var(--pfa-subtle);margin-bottom:28px;max-width:520px}
.pfa-btn{display:inline-block;background:var(--pfa-primary);color:var(--pfa-white);padding:13px 30px;border-radius:8px;font-weight:700;font-family:'Archivo',sans-serif;font-size:.95rem;transition:background .25s}
.pfa-btn:hover{background:var(--pfa-primary-dark);color:var(--pfa-white)}
.pfa-hero-media img{border-radius:14px;width:100%;height:auto}
.pfa-hero-copy{display:block}
.pfa-menu-toggle{display:none}

/* Sobre */
.pfa-about{padding:70px 0}
.pfa-about-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;align-items:center}
.pfa-about-media{display:block}
.pfa-about-copy h2{font-size:1.9rem;margin-bottom:16px}
.pfa-lead{font-size:1.08rem;color:var(--pfa-primary-dark);font-weight:500;margin-bottom:16px}
.pfa-about-copy p{margin-bottom:14px;color:var(--pfa-foreground)}

/* Steps */
.pfa-steps{padding:70px 0;background:var(--pfa-surface)}
.pfa-section-title{font-size:1.9rem;margin-bottom:12px;text-align:center}
.pfa-section-intro{text-align:center;color:var(--pfa-subtle);max-width:640px;margin:0 auto 40px}
.pfa-steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.pfa-step{background:var(--pfa-white);border-radius:10px;padding:28px 22px;border:1px solid var(--pfa-stroke)}
.pfa-step-num{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--pfa-accent);color:var(--pfa-deep);font-family:'Archivo',sans-serif;font-weight:800;margin-bottom:14px;font-size:1.05rem}
.pfa-step h3{font-size:1.08rem;margin-bottom:8px}
.pfa-step p{font-size:.9rem;color:var(--pfa-subtle)}

/* Temas */
.pfa-themes{padding:70px 0}
.pfa-themes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.pfa-theme-card{background:var(--pfa-surface);border-radius:10px;padding:30px 26px;border:1px solid var(--pfa-stroke)}
.pfa-theme-card h3{font-size:1.15rem;margin-bottom:10px;color:var(--pfa-primary-dark)}
.pfa-theme-card p{font-size:.92rem;color:var(--pfa-subtle)}

/* Blog */
.pfa-blog{padding:70px 0;background:var(--pfa-surface)}
.pfa-blog-grid{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:auto auto;gap:24px}
.pfa-blog-card{background:var(--pfa-white);border-radius:10px;overflow:hidden;border:1px solid var(--pfa-stroke);display:block}
.pfa-blog-card-main{grid-row:span 2}
.pfa-blog-card-body{padding:18px 20px}
.pfa-blog-card-body h3{font-size:1.05rem;margin-bottom:10px;color:var(--pfa-deep)}
.pfa-blog-card-main .pfa-blog-card-body h3{font-size:1.3rem}
.pfa-blog-link{color:var(--pfa-primary);font-weight:700;font-size:.88rem}

/* FAQ */
.pfa-faq{padding:70px 0}
.pfa-faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.pfa-faq-item{background:var(--pfa-surface);border:1px solid var(--pfa-stroke);border-radius:8px;padding:16px 20px}
.pfa-faq-item summary{font-weight:700;cursor:pointer;color:var(--pfa-deep);font-family:'Archivo',sans-serif;list-style:none;position:relative;padding-right:24px}
.pfa-faq-item summary::-webkit-details-marker{display:none}
.pfa-faq-item summary::after{content:'+';position:absolute;right:0;top:0;font-size:1.2rem;color:var(--pfa-primary)}
.pfa-faq-item[open] summary::after{content:'−'}
.pfa-faq-item p{margin-top:12px;color:var(--pfa-subtle);font-size:.92rem}

/* Contato */
.pfa-contact{padding:70px 0;background:var(--pfa-surface)}
.pfa-contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:50px}
.pfa-contact-info h2{font-size:1.9rem;margin-bottom:14px}
.pfa-contact-info p{color:var(--pfa-subtle);margin-bottom:20px}
.pfa-contact-list{list-style:none}
.pfa-contact-list li{margin-bottom:8px;font-size:.92rem}
.pfa-form{background:var(--pfa-white);border-radius:10px;padding:30px;border:1px solid var(--pfa-stroke);display:flex;flex-direction:column;gap:16px}
.pfa-field{display:flex;flex-direction:column;gap:6px}
.pfa-field label{font-size:.85rem;font-weight:600;color:var(--pfa-deep)}
.pfa-field input,.pfa-field textarea{border:1px solid var(--pfa-stroke);border-radius:6px;padding:12px 16px;font-family:'Inter',sans-serif;font-size:.92rem;color:var(--pfa-foreground)}
.pfa-field input:focus,.pfa-field textarea:focus{outline:2px solid var(--pfa-accent)}
.pfa-submit{background:var(--pfa-primary);color:var(--pfa-white);border:none;padding:13px 30px;border-radius:8px;font-weight:700;font-family:'Archivo',sans-serif;cursor:pointer;font-size:.95rem;transition:background .25s}
.pfa-submit:hover{background:var(--pfa-primary-dark)}

.pfa-article{padding:60px 0 80px}
.pfa-article-wrap{max-width:740px}
.pfa-article-title{font-size:2rem;margin-bottom:10px}
.pfa-byline{font-size:.85rem;color:var(--pfa-subtle);margin-bottom:22px}
.pfa-article-img{width:100%;height:auto;border-radius:10px;margin-bottom:28px}
.pfa-article p{margin-bottom:16px;font-size:1rem;color:var(--pfa-foreground)}
.pfa-article h2{font-size:1.35rem;margin-top:34px;margin-bottom:12px;color:var(--pfa-primary-dark)}
.pfa-author-box{background:var(--pfa-surface);padding:18px 20px;border-radius:8px;margin-top:32px;display:flex;gap:14px;align-items:center}
.pfa-author-avatar{width:48px;height:48px;border-radius:50%;background:var(--pfa-stroke);flex-shrink:0}
.pfa-author-box strong{font-size:.9rem;color:var(--pfa-deep)}
.pfa-author-box p{font-size:.82rem;color:var(--pfa-subtle);margin-top:2px;margin-bottom:0}

.pfa-blog-index{padding:60px 0 80px}
.pfa-blog-index-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:768px){.pfa-blog-index-grid{grid-template-columns:1fr}}

/* Legal pages */
.pfa-legal{padding:60px 0 80px}
.pfa-legal-wrap{max-width:760px}
.pfa-breadcrumb{font-size:.85rem;color:var(--pfa-subtle);margin-bottom:18px}
.pfa-breadcrumb a{color:var(--pfa-primary)}
.pfa-legal h1{font-size:2rem;margin-bottom:6px}
.pfa-legal-updated{font-size:.85rem;color:var(--pfa-subtle);margin-bottom:30px}
.pfa-legal h2{font-size:1.2rem;margin-top:30px;margin-bottom:10px;color:var(--pfa-primary-dark)}
.pfa-legal p{margin-bottom:12px;color:var(--pfa-foreground);font-size:.95rem}

/* Footer */
.pfa-footer{background:var(--pfa-deep);padding-top:50px;color:#C9BDD6}
.pfa-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding-bottom:36px}
.pfa-footer-col .pfa-logo-footer{color:var(--pfa-white);display:block;margin-bottom:12px}
.pfa-footer-col .pfa-logo-footer span{color:var(--pfa-accent)}
.pfa-footer-text{font-size:.85rem;color:#B3A6C1}
.pfa-footer-heading{font-size:.9rem;color:var(--pfa-white);margin-bottom:12px;font-family:'Archivo',sans-serif}
.pfa-footer-link{display:block;color:#C9BDD6;font-size:.88rem;margin-bottom:8px}
.pfa-footer-link:hover{color:var(--pfa-accent)}
.pfa-footer-bottom{border-top:1px solid #3A2E48;padding:18px 20px;display:flex;justify-content:space-between;font-size:.8rem;color:#9A8CA8}

/* Cookie banner */
.pfa-cookie-banner{position:fixed;right:20px;bottom:20px;max-width:380px;background:var(--pfa-deep);color:#E9E1F0;padding:20px 22px;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.25);z-index:999}
.pfa-cookie-banner p{font-size:.85rem;margin-bottom:14px;line-height:1.5}
.pfa-cookie-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pfa-cookie-actions a{color:#B9ACC7;font-size:.78rem;text-decoration:underline}
.pfa-cookie-btn{background:var(--pfa-accent);color:var(--pfa-deep);padding:8px 18px;border-radius:6px;font-weight:700;font-size:.82rem;cursor:pointer}
#pfa-cookie-consent:checked ~ .pfa-cookie-banner{display:none}

/* Mobile */
@media (max-width:768px){
  .pfa-burger{display:flex}
  .pfa-nav{position:absolute;top:68px;left:0;right:0;background:var(--pfa-white);flex-direction:column;padding:20px;gap:16px;border-bottom:1px solid var(--pfa-stroke);display:none}
  #pfa-menu-toggle:checked ~ .pfa-nav{display:flex}
  .pfa-hero-grid{grid-template-columns:1fr}
  .pfa-hero-media{order:-1}
  .pfa-about-grid{grid-template-columns:1fr}
  .pfa-steps-grid{grid-template-columns:1fr 1fr}
  .pfa-themes-grid{grid-template-columns:1fr}
  .pfa-blog-grid{grid-template-columns:1fr}
  .pfa-blog-card-main{grid-row:auto}
  .pfa-contact-grid{grid-template-columns:1fr}
  .pfa-footer-grid{grid-template-columns:1fr 1fr;gap:28px}
  .pfa-cookie-banner{left:16px;right:16px;max-width:none}
}

@media (max-width:480px){
  .pfa-hero h1{font-size:1.7rem}
  .pfa-steps-grid{grid-template-columns:1fr}
  .pfa-footer-grid{grid-template-columns:1fr}
}
