/* PHCO — modernização visual do site público e páginas legais.
   Mantém a identidade escura e o gradiente da marca usando apenas fontes nativas. */
:root{
  --site-font:"Segoe UI Variable Text","Segoe UI",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --site-bg:#07080b;
  --site-surface:#0d0f14;
  --site-surface-2:#11141b;
  --site-text:#f5f6fb;
  --site-muted:#9aa2b5;
  --site-border:rgba(255,255,255,.085);
  --site-border-strong:rgba(255,255,255,.14);
  --site-pink:#f34ec6;
  --site-purple:#9a68f5;
  --site-blue:#6f86ff;
  --site-green:#35d985;
  --site-gradient:linear-gradient(135deg,var(--site-pink),var(--site-purple) 52%,var(--site-blue));
  --site-shadow:0 20px 60px rgba(0,0,0,.28);
}
.public-site,.legal-page{
  font-family:var(--site-font)!important;
  font-optical-sizing:auto;
  font-synthesis:none;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  letter-spacing:-.006em;
  color:var(--site-text);
  background:
    radial-gradient(circle at 8% 2%,rgba(243,78,198,.075),transparent 29rem),
    radial-gradient(circle at 94% 4%,rgba(111,134,255,.07),transparent 31rem),
    linear-gradient(180deg,#07080b,#090b10 58%,#07080b)!important;
}
.public-site::before,.legal-page::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.2;
  background-image:linear-gradient(rgba(255,255,255,.017) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.017) 1px,transparent 1px);
  background-size:46px 46px;mask-image:linear-gradient(to bottom,black,transparent 76%);
}
.public-site button,.public-site input,.public-site select,.public-site textarea,
.legal-page button,.legal-page input,.legal-page select,.legal-page textarea{font-family:inherit!important}
.public-site ::selection,.legal-page ::selection{background:rgba(154,104,245,.34);color:#fff}

/* Site institucional */
.public-site .container{width:min(calc(100% - 48px),1180px)!important}
.public-site .header{
  background:rgba(7,8,11,.82)!important;border-bottom:1px solid rgba(255,255,255,.065)!important;
  box-shadow:none!important;backdrop-filter:blur(20px) saturate(140%)!important;
}
.public-site .nav{min-height:68px!important;height:auto!important;gap:20px!important}
.public-site .brand{gap:11px!important;font-weight:720!important}
.public-site .brand-mark{width:44px!important;height:44px!important;border-radius:13px!important;background:rgba(255,255,255,.025)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.055),0 8px 28px rgba(154,104,245,.11)!important}
.public-site .brand-mark img{width:44px!important;height:44px!important;filter:drop-shadow(0 0 12px rgba(165,107,255,.25))!important}
.public-site .brand-wordmark{font-family:var(--site-font)!important;font-size:1.16rem!important;font-weight:750!important;letter-spacing:.24em!important;text-shadow:none!important;filter:none!important}
.public-site .menu{gap:6px!important;align-items:center!important}
.public-site .menu a{padding:9px 11px!important;border-radius:9px!important;color:#aeb5c5!important;font-size:.82rem!important;font-weight:600!important;letter-spacing:-.01em!important}
.public-site .menu a:hover{color:#fff!important;background:rgba(255,255,255,.045)!important}
.public-site .menu .contact-link{padding:9px 14px!important;border:1px solid rgba(154,104,245,.30)!important;background:rgba(154,104,245,.075)!important;color:#f3eaff!important;box-shadow:none!important}
.public-site .menu-button{width:40px!important;height:40px!important;border-radius:10px!important;border-color:var(--site-border)!important;background:rgba(255,255,255,.025)!important}
.public-site .nav-social a{width:36px!important;height:36px!important;border-radius:10px!important;border-color:var(--site-border)!important;background:rgba(255,255,255,.025)!important}

.public-site .hero{padding:88px 0 82px!important;min-height:auto!important}
.public-site .hero::after{opacity:.42!important}
.public-site .hero-grid{gap:56px!important;align-items:center!important}
.public-site .tag{min-height:30px!important;padding:0 11px!important;border:1px solid rgba(154,104,245,.26)!important;border-radius:999px!important;background:rgba(154,104,245,.07)!important;color:#d7c2ff!important;font-size:.70rem!important;font-weight:650!important;letter-spacing:.075em!important}
.public-site .hero-copy h1{font-size:clamp(2.8rem,5.25vw,4.85rem)!important;line-height:.99!important;letter-spacing:-.065em!important;font-weight:735!important;margin:18px 0 20px!important;max-width:780px!important}
.public-site .hero-copy p{max-width:670px!important;color:var(--site-muted)!important;font-size:1.02rem!important;line-height:1.68!important}
.public-site .hero-actions{gap:9px!important;margin-top:28px!important}
.public-site .btn{min-height:44px!important;padding:0 17px!important;border-radius:11px!important;font-size:.86rem!important;font-weight:650!important;letter-spacing:-.01em!important;box-shadow:none!important}
.public-site .btn:hover{transform:translateY(-1px)!important}
.public-site .btn-primary{background:var(--site-gradient)!important;box-shadow:0 10px 28px rgba(154,104,245,.18)!important}
.public-site .btn-secondary{background:rgba(255,255,255,.035)!important;border:1px solid var(--site-border)!important;color:#e8eaf1!important}
.public-site .hero-points{gap:9px 16px!important;margin-top:26px!important}
.public-site .hero-points span{font-size:.77rem!important;color:#8f98aa!important}
.public-site .hero-carousel{border:1px solid var(--site-border)!important;border-radius:20px!important;background:linear-gradient(145deg,rgba(17,20,28,.92),rgba(8,10,14,.98))!important;box-shadow:var(--site-shadow)!important}
.public-site .carousel-topbar,.public-site .carousel-caption{border-color:rgba(255,255,255,.065)!important}
.public-site .carousel-label,.public-site .carousel-slide-number,.public-site .carousel-caption p{font-size:.76rem!important;color:#8f98aa!important}
.public-site .carousel-caption h3{font-size:1rem!important;letter-spacing:-.025em!important}
.public-site .carousel-btn,.public-site .carousel-expand{border-radius:10px!important;border-color:var(--site-border)!important;background:rgba(255,255,255,.035)!important}

.public-site .section{padding:84px 0!important}
.public-site .section.alt{background:rgba(255,255,255,.012)!important;border-top:1px solid rgba(255,255,255,.045)!important;border-bottom:1px solid rgba(255,255,255,.045)!important}
.public-site .section-head{margin-bottom:30px!important;gap:28px!important}
.public-site .section-head h2{font-size:clamp(2rem,3.8vw,3.15rem)!important;line-height:1.07!important;letter-spacing:-.052em!important;font-weight:710!important;max-width:790px!important}
.public-site .section-head p{color:var(--site-muted)!important;font-size:.93rem!important;line-height:1.62!important}
.public-site .cards{gap:14px!important}
.public-site .card{padding:23px!important;border:1px solid var(--site-border)!important;border-radius:16px!important;background:linear-gradient(145deg,rgba(15,17,23,.96),rgba(9,11,15,.98))!important;box-shadow:0 10px 35px rgba(0,0,0,.18)!important}
.public-site .card::after{opacity:.45!important}
.public-site .card-icon{width:42px!important;height:42px!important;border-radius:11px!important;font-size:1rem!important}
.public-site .card h3{font-size:1.05rem!important;font-weight:680!important;letter-spacing:-.03em!important;margin-top:20px!important}
.public-site .card p{color:#969fb1!important;font-size:.86rem!important;line-height:1.62!important}
.public-site .how-layout{gap:18px!important}
.public-site .automation-board,.public-site .outcome-item,.public-site .why-box{border:1px solid var(--site-border)!important;background:linear-gradient(145deg,rgba(15,17,23,.96),rgba(9,11,15,.98))!important;box-shadow:0 12px 42px rgba(0,0,0,.20)!important}
.public-site .automation-board{border-radius:18px!important}
.public-site .flow-step{border-radius:13px!important;background:rgba(255,255,255,.022)!important;border-color:rgba(255,255,255,.07)!important}
.public-site .flow-icon{width:39px!important;height:39px!important;border-radius:10px!important;font-size:.72rem!important}
.public-site .flow-step strong{font-size:.89rem!important;font-weight:650!important}
.public-site .flow-step span{font-size:.76rem!important;color:#8f98aa!important}
.public-site .board-result{border-radius:13px!important;font-size:.78rem!important}
.public-site .outcome-item{padding:18px!important;border-radius:15px!important}
.public-site .outcome-icon{width:40px!important;height:40px!important;border-radius:11px!important}
.public-site .outcome-item h3,.public-site .why-box h3{font-size:1rem!important;font-weight:670!important;letter-spacing:-.025em!important}
.public-site .outcome-item p,.public-site .why-list li{font-size:.83rem!important;line-height:1.58!important;color:#949daf!important}
.public-site .why-grid{gap:14px!important}
.public-site .why-box{padding:24px!important;border-radius:16px!important}
.public-site .contact{padding:76px 0!important}
.public-site .contact-box{padding:30px 32px!important;border:1px solid rgba(154,104,245,.23)!important;border-radius:19px!important;background:linear-gradient(120deg,rgba(243,78,198,.075),rgba(154,104,245,.07),rgba(111,134,255,.055))!important;box-shadow:var(--site-shadow)!important}
.public-site .contact-box h2{font-size:clamp(1.7rem,3vw,2.55rem)!important;letter-spacing:-.045em!important;font-weight:710!important}
.public-site .contact-box p{font-size:.91rem!important;line-height:1.62!important;color:#9da5b7!important}
.public-site .footer{padding:24px 0!important;border-top:1px solid rgba(255,255,255,.065)!important;background:rgba(5,6,9,.62)!important}
.public-site .footer-row{font-size:.75rem!important;color:#7f8798!important;gap:16px!important}
.public-site .footer-social a{width:34px!important;height:34px!important;border-radius:9px!important;border-color:var(--site-border)!important;background:rgba(255,255,255,.025)!important}
.public-site .footer-legal{gap:7px 15px!important}
.public-site .footer-legal a{font-size:.72rem!important;color:#81899a!important}

/* Documentos legais */
.legal-page .container{width:min(calc(100% - 40px),1040px)!important}
.legal-page .header{position:sticky!important;top:0;z-index:20;background:rgba(7,8,11,.84)!important;border-bottom:1px solid rgba(255,255,255,.065)!important;backdrop-filter:blur(20px) saturate(140%)!important;box-shadow:none!important}
.legal-page .nav{min-height:68px!important;height:auto!important}
.legal-page .brand{gap:11px!important;font-weight:720!important}
.legal-page .brand img{width:44px!important;height:44px!important;border-radius:13px!important;filter:drop-shadow(0 0 12px rgba(165,107,255,.25))!important}
.legal-page .brand-wordmark{font-family:var(--site-font)!important;font-size:1.16rem!important;font-weight:750!important;letter-spacing:.24em!important;text-shadow:none!important;filter:none!important}
.legal-page .back{min-height:38px!important;display:inline-flex!important;align-items:center!important;padding:0 14px!important;border:1px solid var(--site-border)!important;border-radius:11px!important;background:rgba(255,255,255,.025)!important;color:#dfe2ea!important;font-size:.82rem!important;font-weight:600!important;text-decoration:none!important}
.legal-page .back:hover{border-color:rgba(154,104,245,.4)!important;background:rgba(154,104,245,.075)!important;transform:translateY(-1px)!important}
.legal-page .hero{padding:70px 0 34px!important;background:transparent!important;border:0!important}
.legal-page .eyebrow{display:inline-flex!important;align-items:center!important;min-height:29px!important;padding:0 10px!important;border:1px solid rgba(154,104,245,.26)!important;border-radius:999px!important;background:rgba(154,104,245,.07)!important;color:#d7c2ff!important;font-size:.68rem!important;font-weight:650!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.legal-page .hero h1{margin:17px 0 10px!important;font-size:clamp(2.35rem,5vw,3.8rem)!important;line-height:1.02!important;letter-spacing:-.06em!important;font-weight:730!important}
.legal-page .updated{margin:0!important;color:#8992a5!important;font-size:.78rem!important}
.legal-page .content{padding:0 0 72px!important;background:transparent!important}
.legal-page .article{max-width:880px!important;padding:32px 36px 38px!important;border:1px solid var(--site-border)!important;border-radius:18px!important;background:linear-gradient(145deg,rgba(15,17,23,.96),rgba(9,11,15,.98))!important;box-shadow:var(--site-shadow)!important}
.legal-page .article h2{margin:30px 0 9px!important;font-size:1.15rem!important;line-height:1.35!important;letter-spacing:-.03em!important;font-weight:680!important;color:#f2f3f8!important}
.legal-page .article h2:first-child{margin-top:0!important}
.legal-page .article p,.legal-page .article li{color:#a0a8ba!important;font-size:.91rem!important;line-height:1.72!important}
.legal-page .article ul,.legal-page .article ol{padding-left:21px!important}
.legal-page .article li+li{margin-top:7px!important}
.legal-page .article a{color:#c9adff!important;text-decoration-color:rgba(201,173,255,.4)!important;text-underline-offset:3px!important}
.legal-page .footer{padding:22px 0!important;border-top:1px solid rgba(255,255,255,.065)!important;background:rgba(5,6,9,.62)!important}
.legal-page .footer-row{font-size:.75rem!important;color:#7f8798!important}
.legal-page .footer-social a{width:34px!important;height:34px!important;border-radius:9px!important;border-color:var(--site-border)!important;background:rgba(255,255,255,.025)!important}

@media(max-width:920px){
  .public-site .hero{padding-top:62px!important}.public-site .hero-grid{gap:38px!important}
  .public-site .section{padding:68px 0!important}
}
@media(max-width:760px){
  .public-site .container{width:min(calc(100% - 30px),1180px)!important}
  .public-site .nav{min-height:64px!important}.public-site .brand-mark,.public-site .brand-mark img{width:40px!important;height:40px!important}.public-site .brand-wordmark{font-size:1.06rem!important}
  .public-site .menu{top:64px!important;border-color:var(--site-border)!important;background:rgba(9,11,15,.97)!important;backdrop-filter:blur(20px)!important}
  .public-site .menu a{font-size:.88rem!important}.public-site .hero{padding:52px 0 58px!important}.public-site .hero-copy h1{font-size:clamp(2.55rem,13vw,3.7rem)!important}
  .public-site .hero-actions{display:grid!important;grid-template-columns:1fr!important}.public-site .hero-actions .btn{width:100%!important}
  .public-site .section{padding:58px 0!important}.public-site .section-head h2{font-size:clamp(1.85rem,9.5vw,2.55rem)!important}
  .public-site .card,.public-site .why-box{padding:20px!important}.public-site .contact{padding:58px 0!important}.public-site .contact-box{padding:25px 22px!important}
  .legal-page .container{width:min(calc(100% - 30px),1040px)!important}.legal-page .nav{min-height:64px!important}.legal-page .brand img{width:40px!important;height:40px!important}.legal-page .brand-wordmark{font-size:1.06rem!important}
  .legal-page .back{padding:0 11px!important;font-size:.76rem!important}.legal-page .hero{padding:50px 0 27px!important}.legal-page .article{padding:25px 22px 30px!important;border-radius:15px!important}
}
@media(prefers-reduced-motion:reduce){.public-site *,.legal-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
