@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@400;500;600;700;800&display=swap');

:root{
  --m-paper:#f4efe5;
  --m-paper-light:#fbf8f2;
  --m-forest:#173d31;
  --m-moss:#315d4b;
  --m-terra:#c66b4e;
  --m-ochre:#d9a441;
  --m-ink:#20241f;
  --m-muted:#6c7068;
  --m-line:#d9d1c4;
  --m-white:#fffdf8;
  --m-shadow:0 28px 70px rgba(38,48,37,.12);
}
.marketing-public,.login-public{
  margin:0;min-height:100vh;background:var(--m-paper);color:var(--m-ink);
  font-family:"Manrope",Inter,system-ui,sans-serif;
}
.marketing-public a,.login-public a{text-decoration:none}
.marketing-nav{
  border-bottom:1px solid rgba(23,61,49,.10);
  background:rgba(244,239,229,.88);backdrop-filter:blur(14px);
  position:sticky;top:0;z-index:50;
}
.marketing-nav-inner{display:flex;align-items:center;gap:18px;padding:18px 0}
.marketing-brand{
  display:flex;align-items:center;gap:10px;color:var(--m-forest);font-weight:800;letter-spacing:-.03em
}
.marketing-brand-mark{
  width:33px;height:33px;border-radius:50%;display:grid;place-items:center;
  background:var(--m-ochre);color:var(--m-forest);font-size:.65rem
}
.marketing-nav-links{margin-left:auto;display:flex;align-items:center;gap:18px}
.marketing-link{color:var(--m-muted);font-weight:700;font-size:.87rem}
.marketing-link:hover{color:var(--m-forest)}
.marketing-btn{
  display:inline-flex;align-items:center;justify-content:center;border-radius:999px;
  padding:.86rem 1.15rem;font-weight:800;border:1px solid transparent;transition:.22s ease;
}
.marketing-btn:hover{transform:translateY(-2px)}
.marketing-btn-dark{background:var(--m-forest);color:#fff}
.marketing-btn-dark:hover{background:var(--m-moss);color:#fff}
.marketing-btn-light{background:#fff;color:var(--m-forest);border-color:var(--m-line)}
.marketing-btn-light:hover{color:var(--m-forest);box-shadow:0 8px 24px rgba(38,48,37,.08)}

.marketing-hero{padding:88px 0 58px;position:relative;overflow:hidden}
.marketing-hero:before{
  content:"";position:absolute;width:520px;height:520px;border-radius:50%;
  border:1px solid rgba(23,61,49,.08);right:-160px;top:-210px;
}
.marketing-kicker{color:var(--m-terra);font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;font-weight:800}
.marketing-title{
  font-family:"Sora","Manrope",system-ui,sans-serif;font-size:clamp(3.5rem,7vw,6.4rem);
  line-height:.88;letter-spacing:-.055em;color:var(--m-forest);font-weight:600;margin:.7rem 0 1.2rem;
}
.marketing-copy{max-width:720px;color:var(--m-muted);line-height:1.8}
.marketing-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:58px;align-items:end}
.marketing-note{
  background:var(--m-forest);color:#fff;border-radius:30px;padding:32px;position:relative;overflow:hidden;
  box-shadow:var(--m-shadow)
}
.marketing-note:after{
  content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(255,255,255,.09);
  border-radius:50%;right:-80px;top:-90px
}
.marketing-note strong{
  display:block;font-family:"Sora","Manrope",system-ui,sans-serif;font-size:2.25rem;line-height:.96;position:relative
}
.marketing-note p{color:rgba(255,255,255,.7);font-size:.88rem;margin:1rem 0 0;position:relative}

.plans-section{padding:35px 0 100px}
.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.editorial-plan{
  background:var(--m-white);border:1px solid var(--m-line);border-radius:28px;padding:30px;
  display:flex;flex-direction:column;min-height:540px;position:relative;overflow:hidden;
  transition:.25s ease;
}
.editorial-plan:hover{transform:translateY(-5px);box-shadow:var(--m-shadow)}
.editorial-plan.featured{
  background:var(--m-forest);color:#fff;border-color:var(--m-forest);transform:translateY(-14px)
}
.editorial-plan.featured:hover{transform:translateY(-19px)}
.editorial-plan.featured:before{
  content:"";position:absolute;width:280px;height:280px;border-radius:50%;
  border:1px solid rgba(255,255,255,.08);right:-110px;top:-110px;
}
.plan-label{
  font-size:.68rem;text-transform:uppercase;letter-spacing:.15em;font-weight:800;color:var(--m-terra)
}
.featured .plan-label{color:#efc88f}
.plan-name{
  font-family:"Sora","Manrope",system-ui,sans-serif;font-size:2.6rem;line-height:1;
  margin:.55rem 0 .6rem;font-weight:700
}
.plan-description{color:var(--m-muted);font-size:.88rem;line-height:1.7;min-height:72px}
.featured .plan-description{color:rgba(255,255,255,.7)}
.plan-price{
  font-family:"Sora","Manrope",system-ui,sans-serif;font-size:3.1rem;line-height:1;
  color:var(--m-forest);font-weight:700;margin-top:18px
}
.featured .plan-price{color:#fff}
.plan-cycle{font-size:.75rem;color:var(--m-muted);margin:.4rem 0 1.2rem}
.featured .plan-cycle{color:rgba(255,255,255,.62)}
.plan-features{list-style:none;padding:0;margin:1.2rem 0 1.8rem;flex-grow:1}
.plan-features li{
  padding:.62rem 0;border-bottom:1px solid #eee7dc;color:var(--m-muted);font-size:.87rem
}
.plan-features li:before{content:"✓";color:var(--m-moss);font-weight:900;margin-right:.55rem}
.featured .plan-features li{border-color:rgba(255,255,255,.11);color:rgba(255,255,255,.78)}
.featured .plan-features li:before{color:#efc88f}
.plan-footnote{font-size:.75rem;color:var(--m-muted);line-height:1.55}
.featured .plan-footnote{color:rgba(255,255,255,.58)}
.featured .marketing-btn-light{border-color:transparent}

.plans-trust{padding:0 0 100px}
.plans-trust-grid{
  display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--m-line);
  border-radius:26px;overflow:hidden;background:var(--m-line);gap:1px
}
.plans-trust-item{background:var(--m-paper-light);padding:28px}
.plans-trust-item strong{
  display:block;font-family:"Sora","Manrope",system-ui,sans-serif;color:var(--m-forest);
  font-size:1.7rem;line-height:1
}
.plans-trust-item p{color:var(--m-muted);font-size:.84rem;line-height:1.65;margin:.55rem 0 0}

/* Login */
.login-public{display:grid;grid-template-columns:1.05fr .95fr;background:var(--m-paper-light)}
.login-visual{
  min-height:100vh;padding:60px;display:flex;flex-direction:column;justify-content:space-between;
  background:
    radial-gradient(circle at 82% 15%,rgba(217,164,65,.22),transparent 24%),
    linear-gradient(145deg,#173d31,#2d5f4d);
  color:#fff;position:relative;overflow:hidden;
}
.login-visual:before{
  content:"";position:absolute;width:520px;height:520px;border-radius:50%;
  border:1px solid rgba(255,255,255,.08);right:-190px;top:-150px
}
.login-visual:after{
  content:"";position:absolute;width:260px;height:260px;border-radius:50%;
  border:1px solid rgba(255,255,255,.06);left:-100px;bottom:60px
}
.login-brand{display:flex;align-items:center;gap:11px;color:#fff;font-weight:800;position:relative;z-index:2}
.login-brand .marketing-brand-mark{background:var(--m-ochre)}
.login-message{position:relative;z-index:2;max-width:640px}
.login-message small{text-transform:uppercase;letter-spacing:.18em;color:#f0c990;font-weight:800}
.login-message h1{
  font-family:"Sora","Manrope",system-ui,sans-serif;font-size:clamp(3.5rem,6vw,6rem);
  line-height:.86;letter-spacing:-.05em;margin:18px 0 24px;font-weight:600
}
.login-message p{color:rgba(255,255,255,.72);max-width:520px;line-height:1.75}
.login-quote{position:relative;z-index:2;color:rgba(255,255,255,.58);font-size:.8rem}
.login-form-side{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px 28px}
.login-shell{width:min(440px,100%)}
.login-shell .marketing-kicker{margin-bottom:10px}
.login-shell h2{
  font-family:"Sora","Manrope",system-ui,sans-serif;font-size:3rem;color:var(--m-forest);
  line-height:.95;margin:0 0 .75rem;font-weight:700
}
.login-shell > p{color:var(--m-muted);font-size:.9rem;margin-bottom:28px}
.login-public .form-label{font-size:.78rem;font-weight:800;color:var(--m-forest)}
.login-public .form-control{
  background:#fff!important;color:var(--m-ink)!important;border:1px solid var(--m-line)!important;
  border-radius:14px!important;padding:.9rem 1rem!important;
}
.login-public .form-control:focus{
  border-color:var(--m-moss)!important;box-shadow:0 0 0 .2rem rgba(49,93,75,.10)!important
}
.login-public .form-control::placeholder{color:#aaa398!important}
.login-alert{border-radius:14px}
.login-back{display:inline-flex;margin-top:22px;color:var(--m-muted);font-size:.82rem;font-weight:700}
.login-back:hover{color:var(--m-forest)}

@media(max-width:991px){
  .marketing-hero-grid{grid-template-columns:1fr}
  .plans-grid{grid-template-columns:1fr}
  .editorial-plan.featured{transform:none}.editorial-plan.featured:hover{transform:translateY(-5px)}
  .login-public{grid-template-columns:1fr}
  .login-visual{min-height:440px;padding:38px 28px}
  .login-form-side{min-height:auto;padding:58px 24px}
}
@media(max-width:767px){
  .marketing-nav-links .marketing-link{display:none}
  .marketing-hero{padding:62px 0 38px}
  .marketing-title{font-size:3.8rem}
  .plans-section{padding-bottom:70px}
  .plans-trust-grid{grid-template-columns:1fr}
  .login-message h1{font-size:3.7rem}
}

/* Ajustes de proporcao para titulos geometricos sem alterar as cores. */
.marketing-title{font-size:clamp(2.45rem,4.8vw,4.5rem);line-height:1.12;letter-spacing:-.048em;font-weight:700}
.marketing-note strong{font-size:1.5rem;line-height:1.26;font-weight:700}
.plan-name{font-size:1.7rem;line-height:1.22}
.plan-price{font-size:2.35rem;line-height:1.15}
.plans-trust-item strong{font-size:1.22rem;line-height:1.3;font-weight:700}
.login-message h1{font-size:clamp(2.4rem,4.6vw,4.4rem);line-height:1.12;letter-spacing:-.045em;font-weight:700}
.login-shell h2{font-size:2rem;line-height:1.2}
@media(max-width:767px){
  .marketing-title{font-size:clamp(2.25rem,9vw,3.1rem)}
  .login-message h1{font-size:clamp(2.25rem,9vw,3.1rem)}
}

/* Pagina de planos com hierarquia visual de plataforma de campanhas. */
.marketing-public{--m-prize:#f4bd56;--m-prize-light:#ffdfa0}
.marketing-hero{
  padding:72px 0 52px;
  background:radial-gradient(circle at 91% 8%,rgba(244,189,86,.2),transparent 30%),
             linear-gradient(180deg,#f4efe5,#f9f6ef);
}
.marketing-hero-grid{align-items:center;gap:42px}
.marketing-title{max-width:790px;font-size:clamp(2.4rem,4.6vw,4.3rem);line-height:1.14}
.marketing-title span{color:#c07a37}
.marketing-copy{max-width:660px;font-size:.96rem;line-height:1.8}
.marketing-benefits{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.marketing-benefits span{
  display:inline-flex;align-items:center;min-height:34px;
  padding:.48rem .78rem;background:#fffdf7;border:1px solid #e4d4ba;
  border-radius:999px;font-size:.75rem;font-weight:800;color:#255b47;
}
.marketing-note{
  padding:31px;border-radius:22px;background:linear-gradient(138deg,#123d30,#1d664b);
  border:1px solid rgba(255,255,255,.09);
}
.marketing-note-kicker{
  display:block;margin-bottom:12px;color:var(--m-prize);
  font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;
}
.marketing-note strong{font-size:1.48rem;line-height:1.36}
.plans-section{padding-top:42px}
.editorial-plan{padding:30px 27px;border-radius:23px;box-shadow:0 8px 24px rgba(19,61,47,.06)}
.editorial-plan:not(.featured){border-top:5px solid #d2e4d8}
.editorial-plan.featured{
  background:linear-gradient(155deg,#174f3c,#103c30);
  border-top:5px solid var(--m-prize);
  box-shadow:0 20px 44px rgba(19,61,47,.17);
}
.plan-label{color:#aa6432}
.featured .plan-label{color:var(--m-prize)}
.plan-name{font-size:1.65rem;letter-spacing:-.03em;color:var(--m-forest)}
.featured .plan-name{color:#fff}
.plan-price{font-size:2.3rem;letter-spacing:-.045em}
.editorial-plan .marketing-btn{min-height:47px;box-shadow:0 8px 20px rgba(19,61,47,.1)}
.editorial-plan.featured .marketing-btn-light{
  background:var(--m-prize);border-color:var(--m-prize);color:#143e31;
}
.editorial-plan.featured .marketing-btn-light:hover{background:var(--m-prize-light)}
.plan-features li{font-size:.88rem;line-height:1.55}
.plans-trust-item strong{font-size:1.17rem;line-height:1.35}
@media(max-width:991px){
  .marketing-hero{padding:58px 0 34px}
  .marketing-hero-grid{gap:25px}
  .plans-section{padding:27px 0 60px}
}
@media(max-width:767px){
  .marketing-title{font-size:clamp(2.25rem,9vw,3.05rem)}
  .marketing-benefits span{font-size:.7rem;padding:.42rem .62rem}
  .editorial-plan{padding:25px 22px;min-height:auto}
}

/* Menu de planos acessível em celular e tablet. */
.marketing-menu-toggle{display:none;min-height:44px;padding:.56rem .82rem;border:1px solid #9bbdad;border-radius:12px;background:#f9fcf7;color:#173d31;font-weight:800}
.marketing-menu-toggle:focus-visible,.marketing-nav a:focus-visible{outline:3px solid #c47d37;outline-offset:3px}
@media(max-width:991px){
  .marketing-nav-inner{position:relative;justify-content:space-between;gap:9px}
  .marketing-brand{min-width:0;max-width:calc(100% - 105px);font-size:.86rem;gap:7px}
  .marketing-brand span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .marketing-menu-toggle{display:inline-flex;align-items:center;margin-left:auto}
  .marketing-nav-links{
    position:absolute;display:none;top:calc(100% + 10px);left:0;right:0;
    margin:0;padding:13px;align-items:stretch;flex-direction:column;gap:4px;
    background:#fffdf8;border:1px solid #e4d6c4;border-radius:15px;
    box-shadow:0 16px 35px rgba(24,61,46,.18);z-index:70
  }
  .marketing-nav-links.is-open{display:flex}
  .marketing-nav-links .marketing-link{display:block!important;min-height:44px;padding:11px;border-radius:10px;font-size:.91rem}
  .marketing-nav-links .marketing-link:hover{background:#e8f3ec}
  .marketing-nav-links .marketing-btn{min-height:44px;justify-content:center}
  .marketing-hero-grid{gap:25px}
}
@media(max-width:767px){
  .marketing-nav-inner{padding:13px 0}
  .marketing-title{line-height:1.17}
  .marketing-copy,.plan-description,.plan-features li{font-size:.91rem;line-height:1.65}
  .plans-grid{grid-template-columns:minmax(0,1fr);gap:19px}
  .marketing-note{padding:24px}
  .editorial-plan{min-height:0}
  .editorial-plan .marketing-btn{min-height:48px}
}
