*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#f7f4ef;--ink:#1a1612;--rust:#c1440e;--rust-dim:rgba(193,68,14,0.08);--muted:#7a7168;--card:#ffffff;--border:#e4dfd8;--ff:'DM Serif Display',serif;--fb:'DM Sans',sans-serif;}
html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--fb);font-size:15px}a{text-decoration:none;color:inherit}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(247,244,239,0.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 6vw;height:62px}
.nav-logo{font-family:var(--ff);font-size:1.3rem;letter-spacing:-.01em}
.nav-links{display:flex;gap:4px}.nav-links a{font-size:0.87rem;color:var(--muted);padding:6px 13px;border-radius:5px;transition:all .18s}
.nav-links a:hover,.nav-links a.active{color:var(--ink);background:rgba(0,0,0,0.05)}
.nav-cta{background:var(--ink);color:var(--bg);font-size:0.82rem;font-weight:600;padding:8px 18px;border-radius:5px;transition:background .2s;margin-left:16px}.nav-cta:hover{background:var(--rust)}
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;padding:4px;width:30px;height:30px}
.burger span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s ease,opacity .2s ease}
.burger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.active span:nth-child(2){opacity:0}
.burger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{display:flex;position:fixed;top:62px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--border);padding:16px 6vw;z-index:99;flex-direction:column;gap:4px;opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;transition:opacity .3s ease,transform .3s ease,visibility .3s}
.mobile-menu.open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.mobile-menu a{font-size:0.95rem;color:var(--muted);padding:10px 14px;border-radius:6px;transition:all .18s}
.mobile-menu a:hover,.mobile-menu a.active{color:var(--ink);background:rgba(0,0,0,0.05)}
.mobile-menu .nav-cta{margin:8px 0 0;text-align:center}

/* PAGE HERO */
.page-hero{padding:110px 6vw 56px;border-bottom:1px solid var(--border)}
.breadcrumb{font-size:0.78rem;color:var(--muted);margin-bottom:16px}.breadcrumb span{color:var(--rust)}
.page-title{font-family:var(--ff);font-size:clamp(2.4rem,5vw,4rem);letter-spacing:-.02em;margin-bottom:14px}
.page-title em{font-style:italic;color:var(--rust)}
.page-sub{color:var(--muted);font-size:1rem;line-height:1.7;max-width:560px}

.sec-eyebrow{font-size:0.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--rust);margin-bottom:10px}
.sec-title{font-family:var(--ff);font-size:clamp(1.6rem,2.8vw,2.3rem);margin-bottom:8px;letter-spacing:-.02em}
.sec-note{color:var(--muted);font-size:0.9rem;margin-bottom:32px;max-width:600px}

/* SECTION SHELLS */
.psec{padding:64px 6vw;border-bottom:1px solid var(--border)}
.psec.alt{background:var(--card)}

/* PRICE CARDS (planos principais) */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
.pricing-grid.two{grid-template-columns:repeat(2,1fr);max-width:760px}
.pricing-grid.two-center{grid-template-columns:repeat(2,1fr);max-width:760px;margin-left:auto;margin-right:auto}
.price-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:28px;transition:border-color .2s,transform .2s,box-shadow .2s;position:relative;display:flex;flex-direction:column}
.psec.alt .price-card{background:var(--bg)}
.price-card:hover{border-color:var(--rust);transform:translateY(-4px);box-shadow:0 8px 32px rgba(193,68,14,0.08)}
.price-card.featured{border-color:var(--rust);box-shadow:0 8px 32px rgba(193,68,14,0.12)}
.price-card.featured:hover{box-shadow:0 12px 48px rgba(193,68,14,0.18)}
/*.feat-badge{display:inline-block;position:relative;top:0;left:0;transform:none;background:var(--rust);color:#fff;font-size:0.65rem;font-weight:700;padding:3px 14px;border-radius:10px;white-space:nowrap;margin-bottom:14px;align-self:flex-start}*/
.feat-badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--rust);color:#fff;font-size:0.7rem;font-weight:700;padding:3px 12px;border-radius:10px;white-space:nowrap}

.price-name{font-weight:700;font-size:1rem;margin-bottom:4px}
.price-cat{font-size:0.75rem;color:var(--muted);margin-bottom:16px;min-height:20px}
.price-val{font-family:var(--ff);font-size:1.6rem;color:var(--rust);margin-bottom:16px}
.price-val small{font-size:0.85rem;font-family:var(--fb);color:var(--muted)}
.price-val del{font-size:0.9rem;color:var(--muted);text-decoration:line-through;display:block;font-family:var(--fb);font-weight:400}
.price-val strong{font-family:var(--ff);font-size:1.8rem;font-weight:700;color:var(--rust)}
.price-val strong small{font-size:0.9rem;font-weight:400}
.price-list{list-style:none;padding:0;margin-bottom:20px;flex:1}
.price-list li{font-size:0.84rem;color:var(--muted);padding:5px 0 5px 20px;position:relative;line-height:1.5}
.price-list li::before{content:'✓';position:absolute;left:0;color:var(--rust);font-weight:700}
.btn-price{display:block;text-align:center;border:1px solid var(--border);color:var(--ink);padding:10px;border-radius:6px;font-size:0.85rem;font-weight:600;transition:all .2s}
.btn-price:hover,.price-card.featured .btn-price{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.price-card.featured .btn-price{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.price-card.featured .btn-price:hover{background:var(--rust);border-color:var(--rust)}

/* COMPACT SERVICE CARDS (itens avulsos) */
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:8px}
.srv{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:22px;transition:border-color .2s,box-shadow .2s}
.psec.alt .srv{background:var(--bg)}
.srv:hover{border-color:var(--rust);box-shadow:0 4px 20px rgba(193,68,14,0.08)}
.srv-icon{font-size:1.35rem;margin-bottom:10px;color:var(--rust)}
.srv-name{font-weight:600;font-size:0.92rem;margin-bottom:5px}
.srv-price{font-size:0.86rem;color:var(--rust);font-weight:700;margin-bottom:7px}
.srv-desc{font-size:0.82rem;color:var(--muted);line-height:1.55}

/* NOTES */
.notes-sec{padding:64px 6vw;background:var(--ink);color:#fff}
.notes-sec .sec-eyebrow{color:var(--rust)}
.notes-sec .sec-title{color:#fff}
.notes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 40px;margin-top:24px}
.note-item{display:flex;gap:12px;font-size:0.88rem;color:rgba(255,255,255,.75);line-height:1.6}
.note-item i{color:var(--rust);margin-top:3px;flex-shrink:0}

/* CTA */
.cta-section{padding:64px 6vw;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;border-bottom:1px solid var(--border)}
.cta-section h2{font-family:var(--ff);font-size:clamp(1.6rem,2.8vw,2.2rem);margin-bottom:6px}
.cta-section p{color:var(--muted);font-size:0.92rem}
.btn-dark{background:var(--ink);color:var(--bg);padding:12px 24px;border-radius:5px;font-weight:600;font-size:0.9rem;transition:background .2s;display:inline-block;white-space:nowrap}.btn-dark:hover{background:var(--rust)}

footer{text-align:center;padding:28px 6vw;color:var(--muted);font-size:0.8rem;border-top:1px solid var(--border)}
footer span{color:var(--rust)}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal.vis{opacity:1;transform:none}

/* NOVO: Estilos para o bloco de Portfólios com preços com desconto */
.price-card .price-val.has-discount del{display:inline-block;font-size:0.85rem;color:var(--muted);text-decoration:line-through;margin-right:6px;font-family:var(--fb);font-weight:400}
.price-card .price-val.has-discount strong{font-family:var(--ff);font-size:1.8rem;font-weight:700;color:var(--rust)}
.price-card .price-val.has-discount strong small{font-size:0.9rem;font-weight:400}

@media(max-width:820px){
  .pricing-grid,.pricing-grid.two,.pricing-grid.two-center{grid-template-columns:1fr;max-width:none}
  .notes-grid{grid-template-columns:1fr}
  .cta-section{flex-direction:column;align-items:flex-start}
  .burger{display:flex}
  .nav-links,nav>.nav-cta{display:none}
  .price-card .price-val.has-discount strong{font-size:1.5rem}
}
@media(max-width:480px){
  .price-card{padding:20px}
  .price-list li{font-size:0.8rem}
  .services-grid{grid-template-columns:1fr}
}
