/* @itpersonall Site Público v4.6.7 — Clean UX
   Uma única camada pública: Olive Light, baixa densidade, hierarquia clara. */

:root{
  --itp-bg:#f3f2e7;
  --itp-surface:#faf9f2;
  --itp-soft:#e7e7d6;
  --itp-soft-2:#dedfca;
  --itp-ink:#1b2319;
  --itp-muted:#606857;
  --itp-accent:#66734a;
  --itp-deep:#293324;
  --itp-deep-2:#1e281c;
  --itp-white:#fffef8;
  --itp-line:rgba(41,51,36,.13);
  --itp-line-strong:rgba(41,51,36,.23);
  --itp-radius:16px;
  --itp-reading:720px;
}

html[data-public-theme="olive-light"]{color-scheme:light;background:var(--itp-bg)}
html[data-public-theme="olive-light"] body{margin:0;background:var(--itp-bg)!important;color:var(--itp-ink)!important}
html[data-public-theme="olive-light"] body,
html[data-public-theme="olive-light"] button,
html[data-public-theme="olive-light"] input,
html[data-public-theme="olive-light"] select,
html[data-public-theme="olive-light"] textarea{color:var(--itp-ink)}
html[data-public-theme="olive-light"] a{color:inherit;text-shadow:none!important}
html[data-public-theme="olive-light"] h1,
html[data-public-theme="olive-light"] h2,
html[data-public-theme="olive-light"] h3{color:var(--itp-ink);text-shadow:none!important}
html[data-public-theme="olive-light"] .container{width:min(1100px,calc(100% - 40px));margin-inline:auto}
html[data-public-theme="olive-light"] .muted,
html[data-public-theme="olive-light"] .lead,
html[data-public-theme="olive-light"] .small,
html[data-public-theme="olive-light"] .panel-note{color:var(--itp-muted)!important}

/* Base de ações e formulários */
html[data-public-theme="olive-light"] .btn{
  min-height:46px;padding:0 18px;border:1px solid var(--itp-line-strong)!important;border-radius:11px!important;
  background:transparent!important;color:var(--itp-ink)!important;box-shadow:none!important;text-shadow:none!important;
  font-weight:800;text-decoration:none!important;transform:none!important;
}
html[data-public-theme="olive-light"] .btn.primary{background:var(--itp-deep)!important;border-color:var(--itp-deep)!important;color:var(--itp-white)!important}
html[data-public-theme="olive-light"] .btn:hover{background:var(--itp-soft)!important}
html[data-public-theme="olive-light"] .btn.primary:hover{background:#35422e!important;border-color:#35422e!important}
html[data-public-theme="olive-light"] .card,
html[data-public-theme="olive-light"] .modal-card{background:var(--itp-surface)!important;border:1px solid var(--itp-line)!important;border-radius:var(--itp-radius)!important;box-shadow:none!important;color:var(--itp-ink)!important}
html[data-public-theme="olive-light"] input,
html[data-public-theme="olive-light"] select,
html[data-public-theme="olive-light"] textarea{background:var(--itp-white)!important;border:1px solid var(--itp-line-strong)!important;border-radius:10px!important;box-shadow:none!important}
html[data-public-theme="olive-light"] input:focus,
html[data-public-theme="olive-light"] select:focus,
html[data-public-theme="olive-light"] textarea:focus{outline:2px solid rgba(102,115,74,.23)!important;outline-offset:1px;border-color:var(--itp-accent)!important}

/* Cabeçalho */
.itp-commercial-header{background:rgba(243,242,231,.95)!important;border:0!important;border-bottom:1px solid rgba(41,51,36,.07)!important;box-shadow:none!important;backdrop-filter:blur(16px)}
.itp-commercial-header__shell{width:min(1160px,calc(100% - 30px));margin:0 auto;min-height:68px;display:flex;align-items:center;gap:18px}
.itp-commercial-brand{min-width:max-content;text-decoration:none!important}
.itp-commercial-brand .brand-bubble__img,.itp-commercial-brand .itp-site-brand__img{box-shadow:none!important}
.itp-commercial-nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.itp-commercial-nav a{min-height:40px;padding:0 11px;display:inline-flex;align-items:center;border:0!important;border-radius:9px;color:var(--itp-muted)!important;text-decoration:none!important;font-size:.88rem;font-weight:760;box-shadow:none!important}
.itp-commercial-nav a:hover,.itp-commercial-nav a.active{background:var(--itp-soft)!important;color:var(--itp-ink)!important}
.itp-commercial-header__actions{display:flex;align-items:center;gap:8px}
.itp-commercial-login,.itp-commercial-menu{min-height:40px;border:0!important;border-radius:9px;background:transparent!important;color:var(--itp-ink)!important;font:inherit;font-weight:800;box-shadow:none!important;cursor:pointer}
.itp-commercial-login{padding-inline:12px}
.itp-commercial-login.itp-student-access{border:1px solid var(--itp-line-strong)!important;background:var(--itp-surface)!important}
.itp-commercial-start{min-height:40px!important;padding-inline:15px!important}
.itp-commercial-menu{display:none;width:42px;align-items:center;justify-content:center}

/* Drawer — rotas secundárias, superfície única e sem camadas residuais */
.itp-site-drawer-overlay{background:rgba(27,35,25,.28)!important;backdrop-filter:blur(3px)}
.itp-site-drawer,.app-drawer{background:var(--itp-surface)!important;color:var(--itp-ink)!important;border-left:1px solid var(--itp-line)!important;box-shadow:none!important}
.itp-site-drawer__head{background:transparent!important;border-bottom:1px solid var(--itp-line)!important}
.itp-site-drawer .drawer-body,
.itp-site-drawer .drawer-section,
.itp-site-drawer .drawer-nav,
.itp-site-drawer .drawer-usercard,
.itp-site-drawer .drawer-link,
.itp-site-drawer .drawer-link__main{background:transparent!important;background-image:none!important;box-shadow:none!important}
.itp-site-drawer .drawer-section{border:0!important;padding-inline:0!important}
.itp-site-drawer .drawer-section__title{margin:18px 8px 7px;color:var(--itp-muted)!important;font-size:.68rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.itp-site-drawer .drawer-nav{display:grid!important;gap:0!important;border:0!important;border-radius:0!important;overflow:visible!important}
.itp-site-drawer .drawer-link{display:flex!important;width:100%!important;min-height:56px!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:7px 8px!important;margin:0!important;border:0!important;border-bottom:1px solid var(--itp-line)!important;border-radius:0!important;color:var(--itp-ink)!important;text-align:left!important;text-decoration:none!important}
.itp-site-drawer .drawer-link:hover,.itp-site-drawer .drawer-link:focus-visible{background:rgba(102,115,74,.06)!important}
.itp-site-drawer .drawer-link.active{background:rgba(102,115,74,.07)!important}
.itp-site-drawer .drawer-link::before,.itp-site-drawer .drawer-link::after,
.itp-site-drawer .drawer-link__main::before,.itp-site-drawer .drawer-link__main::after{content:none!important;display:none!important}
.itp-site-drawer .drawer-link__main{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;min-width:0!important;flex:1 1 auto!important}
.itp-site-drawer .drawer-link__icon{display:grid!important;place-items:center!important;width:36px!important;height:36px!important;min-width:36px!important;border:0!important;border-radius:10px!important;background:rgba(102,115,74,.08)!important;color:var(--itp-deep)!important;box-shadow:none!important}
.itp-site-drawer .drawer-link__text{color:var(--itp-ink)!important;font-weight:820!important;text-align:left!important}
.itp-site-drawer .drawer-link__chevron{margin-left:auto!important;opacity:.34!important;color:var(--itp-muted)!important}
.itp-site-drawer .drawer-usercard{padding:0!important;border:0!important}
.itp-minimal-drawer__account,.itp-site-drawer__account{margin-top:20px!important;padding-top:13px!important;border-top:1px solid var(--itp-line)!important;background:transparent!important}
.itp-minimal-drawer__account>span,.itp-site-drawer__account>span{display:block;margin:0 8px 7px;color:var(--itp-muted)!important;font-size:.68rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.itp-site-drawer button[data-open-login].drawer-link,
.itp-site-drawer .itp-drawer-student-access{display:flex!important;width:100%!important;min-height:56px!important;align-items:center!important;justify-content:space-between!important;margin:0!important;padding:7px 8px!important;border:0!important;border-bottom:1px solid var(--itp-line)!important;border-radius:0!important;background:transparent!important;background-image:none!important;text-align:left!important;box-shadow:none!important}
.itp-site-drawer button[data-open-login].drawer-link .drawer-link__main,
.itp-site-drawer .itp-drawer-student-access .drawer-link__main{justify-content:flex-start!important;flex:1 1 auto!important}

/* Navegação inferior */
.itp-commercial-bottom-nav{background:rgba(250,249,242,.97)!important;border:1px solid var(--itp-line)!important;box-shadow:0 8px 26px rgba(31,40,29,.10)!important;backdrop-filter:blur(16px)}
.itp-commercial-bottom-nav .bottom-navbar__item{color:var(--itp-muted)!important;background:transparent!important;border:0!important;box-shadow:none!important}
.itp-commercial-bottom-nav .bottom-navbar__item.is-active{background:var(--itp-soft)!important;color:var(--itp-ink)!important}
.itp-commercial-bottom-nav .bottom-navbar__icon{color:inherit!important}
.itp-bottom-student{font:inherit;cursor:pointer}

/* Linguagem global */
.public-clean-page{background:var(--itp-bg);overflow:hidden}
.clean-label{display:block;margin-bottom:11px;color:var(--itp-accent);font-size:.72rem;font-weight:900;letter-spacing:.095em;text-transform:uppercase}
.clean-lead{max-width:660px;margin:0;color:var(--itp-muted);font-size:clamp(1.02rem,1.55vw,1.2rem);line-height:1.62}
.clean-lead--small{font-size:1rem}
.clean-signature{margin:15px 0 0;color:var(--itp-muted);font-size:.84rem;line-height:1.5}
.clean-signature strong{color:var(--itp-ink)}
.clean-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:24px}
.clean-actions--text{margin-top:20px}
.clean-link{display:inline-flex;align-items:center;min-height:34px;color:var(--itp-deep)!important;font-weight:800;font-size:.88rem;text-decoration:none!important;border:0!important;box-shadow:none!important;background:none!important}
.clean-link:hover{text-decoration:underline!important;text-underline-offset:4px}
.clean-link--on-dark{color:#e5eadf!important}
.clean-text-button{padding:8px 0;border:0;background:none;color:var(--itp-muted);font:inherit;font-size:.85rem;font-weight:800;cursor:pointer}
.clean-text-button:hover{color:var(--itp-ink)}
.clean-note{max-width:760px;margin:26px 0 0;color:var(--itp-muted);font-size:.82rem;line-height:1.6}
.clean-narrow{max-width:820px}

.clean-hero{padding:clamp(58px,8vw,96px) 0;background:linear-gradient(145deg,var(--itp-soft),var(--itp-bg) 62%)}
.clean-hero--internal{padding-block:clamp(54px,7vw,82px)}
.clean-hero--project{background:linear-gradient(145deg,#e1e3cf,var(--itp-bg) 62%)}
.clean-hero__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr);align-items:center;gap:clamp(38px,7vw,84px)}
.clean-hero__grid--text{grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr)}
.clean-hero__copy{max-width:760px}
.clean-hero h1{max-width:820px;margin:0 0 18px;font-size:clamp(3rem,5.6vw,5.35rem);line-height:.97;letter-spacing:-.052em}
.clean-hero--internal h1{font-size:clamp(2.65rem,5vw,4.6rem)}
.clean-hero__media{display:block;aspect-ratio:4/5;max-height:560px;overflow:hidden;border-radius:22px;background:var(--itp-soft-2)}
.clean-hero__media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.86) contrast(.98)}
.clean-hero__note{max-width:390px;padding-left:24px;border-left:2px solid var(--itp-accent)}
.clean-hero__note strong{font-size:1.02rem;line-height:1.45}
.clean-hero__note p{margin:7px 0 0;color:var(--itp-muted);font-size:.9rem;line-height:1.58}

.clean-section{padding:clamp(58px,7vw,86px) 0;background:transparent}
.clean-section--soft{background:rgba(231,231,214,.55)}
.clean-section--compact{padding-block:22px}
.clean-section__head{max-width:760px;margin-bottom:32px}
.clean-section__head--small{margin-bottom:24px}
.clean-section__head h2,.clean-two-col h2,.clean-authority h2,.clean-project-showcase h2{margin:0;font-size:clamp(2rem,3.7vw,3.25rem);line-height:1.04;letter-spacing:-.038em}
.clean-section__head p,.clean-two-col>div>p,.clean-project-showcase>div>p{max-width:650px;margin:12px 0 0;color:var(--itp-muted);line-height:1.65}
.clean-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,7vw,88px);align-items:start}

.clean-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,52px)}
.clean-steps--four{grid-template-columns:repeat(4,minmax(0,1fr))}
.clean-steps article{padding:0;border:0;background:none;box-shadow:none}
.clean-steps article>span{display:block;margin-bottom:9px;color:var(--itp-accent);font-size:.7rem;font-weight:900;letter-spacing:.1em}
.clean-steps h3{margin:0 0 7px;font-size:1.14rem}
.clean-steps p{margin:0;color:var(--itp-muted);font-size:.91rem;line-height:1.58}

.clean-list{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:8px}
.clean-list--two{grid-template-columns:1fr 1fr;gap:8px 24px}
.clean-list li{position:relative;padding:8px 0 8px 24px;color:var(--itp-deep);font-weight:740;line-height:1.45}
.clean-list li::before{content:"✓";position:absolute;left:0;top:8px;color:var(--itp-accent);font-weight:950}
.clean-deliverables{margin-top:48px;padding-top:28px;border-top:1px solid var(--itp-line)}
.clean-deliverables h3{margin:0;font-size:1.05rem}

.clean-proof{max-width:520px;padding-top:6px}
.clean-proof blockquote{margin:0 0 10px;padding:0;border:0;background:none;color:var(--itp-ink);font-size:clamp(1.25rem,2vw,1.65rem);font-weight:700;line-height:1.42}
.clean-proof>span{display:block;color:var(--itp-muted);font-size:.76rem;margin-bottom:18px}

.clean-authority{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);gap:clamp(38px,7vw,86px);align-items:center}
.clean-authority--hero{padding-block:0}
.clean-authority__photo{display:block;max-width:350px;aspect-ratio:4/5;overflow:hidden;border-radius:22px;background:var(--itp-soft)}
.clean-authority__photo img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.86)}
.clean-inline-facts{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:20px;color:var(--itp-muted);font-size:.82rem;line-height:1.5}
.clean-inline-facts span{display:inline-flex;gap:5px}
.clean-inline-facts strong{color:var(--itp-ink)}
.clean-cycle{margin:22px 0 0!important;color:var(--itp-deep)!important;font-weight:850;letter-spacing:.01em}

.clean-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:860px}
.clean-plans article{padding:24px;border:1px solid var(--itp-line);border-radius:var(--itp-radius);background:rgba(250,249,242,.55)}
.clean-plans article>span{display:block;color:var(--itp-accent);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.clean-plans article>strong{display:block;margin:10px 0 6px;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em}
.clean-plans article p{min-height:2.8em;margin:0 0 20px;color:var(--itp-muted);font-size:.88rem;line-height:1.5}
.clean-faq{max-width:860px;margin-top:34px;border-top:1px solid var(--itp-line)}
.clean-faq details{border-bottom:1px solid var(--itp-line);padding:0!important;background:none!important;box-shadow:none!important}
.clean-faq summary{padding:17px 0;cursor:pointer;font-weight:800}
.clean-faq details p{margin:0 0 18px;max-width:700px;color:var(--itp-muted);line-height:1.6}

.clean-final-cta{padding:clamp(48px,6vw,70px) 0;background:var(--itp-deep-2);color:var(--itp-white)}
.clean-final-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:34px}
.clean-final-cta h2{max-width:760px;margin:0;color:var(--itp-white)!important;font-size:clamp(2rem,4vw,3.35rem);line-height:1.03;letter-spacing:-.04em}
.clean-final-cta .clean-label{color:#b7c28e!important}
.clean-final-cta .btn.primary{background:var(--itp-white)!important;border-color:var(--itp-white)!important;color:var(--itp-deep-2)!important;white-space:nowrap}
.clean-final-cta .btn.primary:hover{background:#ebecdf!important;border-color:#ebecdf!important}

.clean-testimonials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.clean-testimonials--compact{grid-template-columns:1fr}
.clean-testimonials article,
.clean-testimonials .testimonial-card{min-width:0;padding:22px!important;border:1px solid var(--itp-line)!important;border-radius:16px!important;background:rgba(250,249,242,.62)!important;box-shadow:none!important}
.clean-testimonials blockquote,.clean-testimonials .testimonial-card p{margin:0 0 12px;color:var(--itp-ink);font-size:1.06rem;line-height:1.52;font-weight:680}
.clean-testimonials article>span,.clean-testimonials .eyebrow{display:block;color:var(--itp-muted)!important;font-size:.74rem!important;line-height:1.45!important;text-transform:none!important;letter-spacing:0!important}
.clean-testimonials + .clean-note{margin-top:22px}
.clean-credentials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 56px}
.clean-credentials article{padding:0;border:0;background:none;box-shadow:none}
.clean-credentials strong{font-size:1.05rem}
.clean-credentials p{margin:6px 0 0;color:var(--itp-muted);line-height:1.58}

/* Projeto */
.clean-project-phone{display:block;width:min(310px,75%);margin-inline:auto;aspect-ratio:691/1536;overflow:hidden;border-radius:28px;background:#111}
.clean-project-phone img,.clean-project-screens img{width:100%;height:100%;object-fit:cover;display:block}
.clean-project-showcase{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(38px,7vw,84px);align-items:center}
.clean-project-screens{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:end}
.clean-project-screens picture{display:block;aspect-ratio:691/1536;overflow:hidden;border-radius:22px;background:#111}
.clean-project-screens picture:first-child{transform:translateY(-18px)}
.clean-project-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;width:min(460px,100%);margin-top:24px}
.clean-project-actions .btn{width:100%;min-height:48px;justify-content:center;margin:0!important}
.clean-project-secondary{border:1px solid var(--itp-line-strong)!important;background:transparent!important;color:var(--itp-deep)!important;box-shadow:none!important}
.clean-project-secondary:hover{background:rgba(102,115,74,.07)!important;color:var(--itp-deep)!important}
.clean-project-actions--on-dark .clean-project-secondary{border-color:rgba(247,247,239,.34)!important;color:#f7f7ef!important;background:transparent!important}
.clean-project-actions--on-dark .clean-project-secondary:hover{border-color:rgba(247,247,239,.55)!important;background:rgba(247,247,239,.08)!important;color:#fff!important}

/* Base Operacional */
.clean-search{display:flex;gap:9px;max-width:610px;margin-top:24px}
.clean-search input{flex:1;min-width:0;height:46px;padding:0 14px}
.clean-chips{display:flex;gap:8px;overflow:auto;padding-bottom:4px;scrollbar-width:none}
.clean-chips::-webkit-scrollbar{display:none}
.clean-chips a{flex:0 0 auto;padding:8px 11px;border:1px solid var(--itp-line);border-radius:999px;color:var(--itp-muted);font-size:.78rem;font-weight:760;text-decoration:none!important;box-shadow:none!important}
.clean-chips a.active{background:var(--itp-deep);border-color:var(--itp-deep);color:var(--itp-white)}
.clean-feature{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;text-decoration:none!important;border:0!important;box-shadow:none!important}
.clean-feature h2{max-width:850px;margin:0 0 10px;font-size:clamp(2rem,4vw,3.4rem);line-height:1.04;letter-spacing:-.04em}
.clean-feature p{max-width:720px;margin:0 0 12px;color:var(--itp-muted);line-height:1.6}
.clean-feature>span{font-size:1.5rem;color:var(--itp-accent)}
.clean-meta{color:var(--itp-muted);font-size:.72rem;line-height:1.4}
.clean-articles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 54px}
.clean-articles article{padding:22px 0;border-bottom:1px solid var(--itp-line)}
.clean-articles h3{margin:7px 0;font-size:1.18rem;line-height:1.3}
.clean-articles h3 a{text-decoration:none!important}
.clean-articles h3 a:hover{text-decoration:underline!important;text-underline-offset:4px}
.clean-articles p{margin:0;color:var(--itp-muted);font-size:.9rem;line-height:1.58}
.clean-inline-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:34px;padding-top:20px;border-top:1px solid var(--itp-line);color:var(--itp-muted);font-size:.88rem}

/* Triagem */
.clean-triage-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:28px;align-items:start}
.clean-triage-form,.clean-triage-result{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.clean-triage-form .triage-form-block{margin:0 0 30px!important;padding:0!important;border:0!important;background:none!important}
.clean-triage-form .triage-form-block__head{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}
.clean-triage-form .triage-form-block__head>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--itp-soft);color:var(--itp-deep);font-size:.68rem;font-weight:900;flex:0 0 auto}
.clean-triage-form .triage-form-block__head strong{display:block;font-size:.98rem}
.clean-triage-form .triage-form-block__head small{display:block;margin-top:3px;color:var(--itp-muted);font-size:.76rem;line-height:1.4}
.clean-triage-form .form-grid{gap:14px}
.clean-triage-form .field label{font-size:.8rem;font-weight:800}
.clean-triage-form .field small{color:var(--itp-muted)!important}
.clean-triage-form .checkline{margin:10px 0 0;color:var(--itp-muted);font-size:.8rem;line-height:1.5}
.clean-triage-result{position:sticky;top:94px;padding:24px!important;border:1px solid var(--itp-line)!important;border-radius:var(--itp-radius)!important;background:var(--itp-surface)!important}
.clean-triage-result h2{margin:8px 0 10px;font-size:2rem;letter-spacing:-.035em}
.clean-triage-result .lead{font-size:.98rem;line-height:1.55}
.clean-triage-result .triage-result__section,.clean-triage-result .triage-result__next{margin-top:20px;padding-top:16px;border-top:1px solid var(--itp-line)}
.clean-triage-result .triage-result__route-tag{display:inline-flex;margin-top:3px;padding:6px 9px;border-radius:999px;background:var(--itp-soft);color:var(--itp-deep);font-size:.7rem;font-weight:850}

/* Rodapé: poucos links + acesso do aluno em evidência */
.itp-clean-footer{background:var(--itp-deep-2)!important;color:var(--itp-white)!important;border:0!important;box-shadow:none!important}
.itp-clean-footer__inner{width:min(1100px,calc(100% - 40px));margin:0 auto;padding:48px 0 24px}
.itp-clean-footer__top{display:grid;grid-template-columns:minmax(260px,1.15fr) minmax(180px,.65fr) minmax(220px,.7fr);gap:clamp(34px,7vw,82px);align-items:start}
.itp-clean-footer__identity{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center}
.itp-clean-footer__identity img{width:44px;height:44px;border-radius:11px;background:var(--itp-white)}
.itp-clean-footer__identity strong{display:block;color:var(--itp-white);font-size:1.08rem}
.itp-clean-footer__identity span{display:block;margin-top:3px;color:#b9c2b2;font-size:.76rem}
.itp-clean-footer__brand>p{max-width:38ch;margin:14px 0 0;color:#b9c2b2;font-size:.84rem;line-height:1.6}
.itp-clean-footer__instagram{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:#e9eee4!important;text-decoration:none!important;font-size:.8rem;font-weight:800}
.itp-clean-footer__instagram svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}
.itp-clean-footer__links{display:grid;gap:10px}
.itp-clean-footer__links a{color:#e4e9df!important;text-decoration:none!important;font-size:.84rem;font-weight:700;box-shadow:none!important}
.itp-clean-footer__links a:hover{text-decoration:underline!important;text-underline-offset:4px}
.itp-clean-footer__student>span{display:block;margin-bottom:10px;color:#b9c2b2;font-size:.75rem;line-height:1.4}
.itp-clean-footer__student-button{width:100%;min-height:46px;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:var(--itp-white);color:var(--itp-deep-2);font:inherit;font-size:.86rem;font-weight:900;cursor:pointer;box-shadow:none}
.itp-clean-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:40px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);color:#9fa99b;font-size:.7rem}
.itp-clean-footer__bottom nav{display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.itp-clean-footer__bottom a,.itp-clean-footer__bottom button{padding:0;border:0;background:none;color:#cad1c5!important;text-decoration:none!important;font:inherit;cursor:pointer;box-shadow:none!important}

/* Consentimento — compacto, claro e coerente com Olive Light */
.itp-cookie-banner-v462{position:fixed!important;z-index:10040!important;right:20px!important;bottom:20px!important;width:min(430px,calc(100% - 40px))!important;padding:20px!important;border:1px solid var(--itp-line-strong)!important;border-radius:18px!important;background:var(--itp-surface)!important;color:var(--itp-ink)!important;box-shadow:0 18px 50px rgba(31,40,29,.16)!important}
.itp-cookie-banner-v462[hidden]{display:none!important}
.itp-cookie-banner-v462.is-hiding{opacity:0!important;transform:translateY(8px)!important;transition:opacity .2s ease,transform .2s ease}
.itp-cookie-banner-v462__label{display:block;margin-bottom:7px;color:var(--itp-accent)!important;font-size:.67rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.itp-cookie-banner-v462 strong{display:block;color:var(--itp-ink)!important;font-size:1.08rem;line-height:1.25}
.itp-cookie-banner-v462 p{margin:7px 0 0;color:var(--itp-muted)!important;font-size:.82rem;line-height:1.5}
.itp-cookie-banner-v462__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.itp-cookie-banner-v462 .btn{min-height:43px!important;border-radius:10px!important;font-size:.8rem!important;box-shadow:none!important}
.itp-cookie-banner-v462 .btn.primary{grid-column:1/-1;background:var(--itp-deep-2)!important;border-color:var(--itp-deep-2)!important;color:var(--itp-white)!important}
.itp-cookie-banner-v462 .btn.secondary{background:transparent!important;border:1px solid var(--itp-line-strong)!important;color:var(--itp-ink)!important}
.itp-cookie-banner-v462 .itp-cookie-text-action{min-height:43px;padding:0;border:0;background:transparent;color:var(--itp-muted)!important;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}
.itp-cookie-banner-v462 .itp-cookie-text-action:hover{color:var(--itp-ink)!important}

.itp-cookie-modal-v462{position:fixed!important;inset:0!important;z-index:10050!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:20px!important;background:rgba(24,31,22,.5)!important;backdrop-filter:blur(7px)}
.itp-cookie-modal-v462[hidden]{display:none!important}
.itp-cookie-dialog-v462{position:relative;width:min(520px,100%)!important;max-height:84dvh!important;overflow:auto!important;padding:26px!important;border:1px solid var(--itp-line-strong)!important;border-radius:20px!important;background:var(--itp-surface)!important;color:var(--itp-ink)!important;box-shadow:0 22px 64px rgba(31,40,29,.18)!important}
.itp-cookie-dialog-v462__head{padding-right:44px}
.itp-cookie-dialog-v462__label{display:block;margin-bottom:7px;color:var(--itp-accent)!important;font-size:.67rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.itp-cookie-dialog-v462 h2{margin:0;color:var(--itp-ink)!important;font-size:clamp(1.65rem,5vw,2.2rem);line-height:1.05;letter-spacing:-.035em}
.itp-cookie-dialog-v462__intro{margin:9px 0 20px!important;color:var(--itp-muted)!important;font-size:.88rem;line-height:1.55}
.itp-cookie-dialog-v462__close{position:absolute;right:16px;top:16px;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--itp-line)!important;border-radius:10px;background:transparent!important;color:var(--itp-ink)!important;cursor:pointer;box-shadow:none!important}
.itp-cookie-dialog-v462__close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.itp-cookie-options-v462{display:grid;border-top:1px solid var(--itp-line)}
.itp-cookie-option-v462{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--itp-line);cursor:pointer}
.itp-cookie-option-v462 strong{display:block;color:var(--itp-ink)!important;font-size:.9rem}
.itp-cookie-option-v462 small{display:block;margin-top:3px;color:var(--itp-muted)!important;font-size:.76rem;line-height:1.42}
.itp-cookie-option-v462 input[type="checkbox"]{appearance:none;width:42px;height:24px;margin:0;border:1px solid var(--itp-line-strong);border-radius:999px;background:var(--itp-soft);position:relative;cursor:pointer;transition:background .18s ease,border-color .18s ease}
.itp-cookie-option-v462 input[type="checkbox"]::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--itp-surface);box-shadow:0 1px 3px rgba(31,40,29,.16);transition:transform .18s ease}
.itp-cookie-option-v462 input[type="checkbox"]:checked{background:var(--itp-deep);border-color:var(--itp-deep)}
.itp-cookie-option-v462 input[type="checkbox"]:checked::after{transform:translateX(18px)}
.itp-cookie-option-v462 input[type="checkbox"]:disabled{opacity:.62;cursor:not-allowed}
.itp-cookie-actions-v462{display:grid;grid-template-columns:auto 1fr;gap:9px;margin-top:20px}
.itp-cookie-actions-v462 .btn{min-height:46px!important;border-radius:10px!important;box-shadow:none!important}
.itp-cookie-actions-v462 .btn.primary{background:var(--itp-deep-2)!important;border-color:var(--itp-deep-2)!important;color:var(--itp-white)!important}
.itp-cookie-actions-v462 .btn:not(.primary){background:transparent!important;border:1px solid var(--itp-line-strong)!important;color:var(--itp-ink)!important}

/* Bio curta */
.linkbio-page{min-height:100dvh;background:var(--itp-bg);color:var(--itp-ink)}
.linkbio-shell{width:min(620px,calc(100% - 34px));margin:0 auto;padding:34px 0}
.linkbio-brand{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:24px;color:var(--itp-deep);font-size:.78rem;font-weight:800;text-decoration:none!important}
.linkbio-brand img{width:32px;height:32px;border-radius:8px}
.linkbio-profile{text-align:center}
.linkbio-photo{width:108px;height:108px;margin:0 auto 16px;border-radius:50%;overflow:hidden;background:var(--itp-soft)}
.linkbio-photo img{width:100%;height:100%;object-fit:cover;display:block}
.linkbio-profile h1{margin:0;font-size:clamp(2rem,7vw,2.8rem);line-height:1;letter-spacing:-.04em}
.linkbio-role{margin:8px 0 0;color:var(--itp-muted);font-size:.86rem;font-weight:720}
.linkbio-lead{max-width:520px;margin:14px auto 0;color:var(--itp-muted);line-height:1.55;font-size:.94rem}
.linkbio-signals{display:none!important}
.linkbio-links{display:grid;gap:8px;margin-top:24px}
.linkbio-link{display:grid;grid-template-columns:34px 1fr 16px;gap:10px;align-items:center;min-height:64px;padding:10px 12px;border:1px solid var(--itp-line);border-radius:13px;background:rgba(250,249,242,.7);text-decoration:none!important;box-shadow:none!important}
.linkbio-link--primary{background:var(--itp-deep);border-color:var(--itp-deep);color:var(--itp-white)}
.linkbio-link__icon{display:grid;place-items:center;width:34px;height:34px;color:var(--itp-accent)}
.linkbio-link--primary .linkbio-link__icon{color:var(--itp-white)}
.linkbio-link strong{display:block;font-size:.91rem}
.linkbio-link small{display:block;margin-top:2px;color:var(--itp-muted);font-size:.73rem;line-height:1.32}
.linkbio-link--primary small{color:#d4dacd}
.linkbio-link__arrow{opacity:.42}
.linkbio-note{display:none!important}
.linkbio-footer{margin-top:24px;text-align:center;color:var(--itp-muted);font-size:.72rem}
.linkbio-footer strong{display:block;margin-bottom:4px;color:var(--itp-deep)}

/* Páginas ainda funcionais/legais: fallback editorial limpo */
.site-page-v4 main:not(.public-clean-page) .page-hero{padding:clamp(48px,7vw,76px) 0!important;background:linear-gradient(145deg,var(--itp-soft),var(--itp-bg) 64%)!important}
.site-page-v4 main:not(.public-clean-page) .page-hero-grid{gap:26px!important}
.site-page-v4 main:not(.public-clean-page) .page-hero .card{background:transparent!important;border:0!important;padding:0!important}
.site-page-v4 main:not(.public-clean-page) .page-hero .tactical-panel{padding-left:22px!important;border-left:2px solid var(--itp-accent)!important;border-radius:0!important}
.site-page-v4 main:not(.public-clean-page) .section{padding:clamp(44px,6vw,72px) 0!important}
.site-page-v4 main:not(.public-clean-page) .final-cta{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}
.site-page-v4 main:not(.public-clean-page) .section-header{max-width:760px}
.site-page-v4 main:not(.public-clean-page) .section-header h2{font-size:clamp(1.9rem,4vw,3rem);line-height:1.05;letter-spacing:-.035em}
.site-page-v4 main:not(.public-clean-page) .kicker,.site-page-v4 main:not(.public-clean-page) .eyebrow{color:var(--itp-accent)!important;font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}

/* Remove resíduos decorativos de versões anteriores */
.public-clean-page .home-v4-gridlines,.public-clean-page .hero-bg,.itp-conversion-prefooter{display:none!important}
.public-clean-page a::after,.itp-clean-footer a::after,.itp-commercial-nav a::after{box-shadow:none!important;text-shadow:none!important}

@media (max-width:1080px){
  .itp-commercial-nav{display:none}
  .itp-commercial-menu{display:inline-flex}
}

@media (max-width:820px){
  html[data-public-theme="olive-light"] .container{width:min(100% - 32px,1100px)}
  .itp-commercial-header__shell{width:min(100% - 20px,1160px);min-height:62px}
  .itp-commercial-header__actions .itp-commercial-login,.itp-commercial-header__actions .itp-commercial-start{display:none}
  .itp-commercial-menu{display:none!important}

  .clean-hero{padding:48px 0 44px}
  .clean-hero__grid,.clean-hero__grid--text,.clean-authority,.clean-project-showcase,.clean-two-col{grid-template-columns:1fr;gap:30px}
  .clean-hero h1{font-size:clamp(2.55rem,12vw,4.1rem);line-height:.98}
  .clean-hero--internal h1{font-size:clamp(2.4rem,10.5vw,3.7rem)}
  .clean-hero__copy{text-align:center;margin-inline:auto}
  .clean-hero__copy .clean-lead,.clean-hero__copy .clean-signature{margin-inline:auto}
  .clean-hero__copy .clean-actions{justify-content:center}
  .clean-hero__media{display:none}
  .clean-hero__note{max-width:620px;margin-inline:auto;padding:18px 0 0;border-left:0;border-top:1px solid var(--itp-line);text-align:center}
  .clean-section{padding:48px 0}
  .clean-section--compact{padding:18px 0}
  .clean-section__head{text-align:center;margin-inline:auto;margin-bottom:26px}
  .clean-section__head p{margin-inline:auto}
  .clean-steps,.clean-steps--four{grid-template-columns:1fr;gap:0}
  .clean-steps article{display:grid;grid-template-columns:36px 1fr;gap:0 12px;padding:16px 0;border-bottom:1px solid var(--itp-line)}
  .clean-steps article>span{grid-row:1/3;margin:2px 0 0}
  .clean-steps h3{margin:0 0 4px}
  .clean-list--two{grid-template-columns:1fr}
  .clean-two-col>div:first-child{text-align:center}
  .clean-two-col>div:first-child .clean-list{text-align:left}
  .clean-proof{margin-inline:auto;text-align:center}
  .clean-authority{text-align:center}
  .clean-authority__photo{max-width:240px;margin-inline:auto}
  .clean-inline-facts,.clean-actions--text{justify-content:center}
  .clean-plans{grid-template-columns:1fr;max-width:620px;margin-inline:auto}
  .clean-plans article{text-align:center;padding:22px}
  .clean-plans article p{min-height:0}
  .clean-faq{margin-inline:auto}
  .clean-final-cta__inner{flex-direction:column;align-items:center;text-align:center}
  .clean-final-cta .clean-actions{justify-content:center}
  .clean-testimonials{grid-template-columns:1fr;gap:12px}
  .clean-testimonials article,.clean-testimonials .testimonial-card{padding:20px!important;border:1px solid var(--itp-line)!important;border-radius:15px!important;background:rgba(250,249,242,.72)!important}
  .clean-credentials{grid-template-columns:1fr;gap:0;text-align:left}
  .clean-credentials article{padding:18px 0;border-bottom:1px solid var(--itp-line)}
  .clean-project-phone{width:min(230px,60%)}
  .clean-project-actions{grid-template-columns:1fr;width:100%;max-width:420px;margin:22px auto 0;gap:10px}
  .clean-project-actions .btn{min-height:50px}
  .clean-project-showcase>div:first-child{text-align:center}
  .clean-project-screens{max-width:520px;margin-inline:auto}
  .clean-articles{grid-template-columns:1fr}
  .clean-inline-cta{align-items:flex-start;flex-direction:column}
  .clean-search{margin-inline:auto}
  .clean-triage-layout{grid-template-columns:1fr;gap:34px}
  .clean-triage-result{position:static}
  .clean-triage-form .form-grid.two{grid-template-columns:1fr}

  .itp-clean-footer__inner{width:min(100% - 32px,1100px);padding:42px 0 calc(104px + env(safe-area-inset-bottom))}
  .itp-clean-footer__top{grid-template-columns:1fr;gap:28px}
  .itp-clean-footer__brand{text-align:center}
  .itp-clean-footer__identity{width:max-content;max-width:100%;margin-inline:auto;text-align:left}
  .itp-clean-footer__brand>p{margin-inline:auto}
  .itp-clean-footer__links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 18px}
  .itp-clean-footer__student{max-width:360px;width:100%;margin-inline:auto;text-align:center}
  .itp-clean-footer__bottom{flex-direction:column;align-items:center;text-align:center;gap:10px;margin-top:32px}
  .itp-clean-footer__bottom nav{justify-content:center}

  .itp-cookie-banner-v462{left:14px!important;right:14px!important;bottom:calc(128px + env(safe-area-inset-bottom))!important;width:auto!important;padding:17px!important;border-radius:16px!important}
  .itp-cookie-banner-v462__actions{grid-template-columns:1fr 1fr}
  .itp-cookie-modal-v462{align-items:flex-end!important;padding:0!important}
  .itp-cookie-dialog-v462{width:100%!important;max-height:86dvh!important;border-radius:20px 20px 0 0!important;border-left:0!important;border-right:0!important;border-bottom:0!important;padding:22px 18px calc(22px + env(safe-area-inset-bottom))!important}
  .itp-cookie-actions-v462{grid-template-columns:1fr}
}

@media (max-width:520px){
  .clean-actions{width:100%;justify-content:center}
  .clean-actions>.btn{width:100%;justify-content:center}
  .clean-search{flex-direction:column}
  .clean-search .btn{width:100%}
  .clean-project-screens{gap:10px}
  .clean-project-screens picture{border-radius:16px}
  .linkbio-shell{padding-top:28px}
}

/* Formulários utilitários */
.clean-form,.clean-nps-form{max-width:820px;margin:0 auto;padding:0;background:transparent;border:0;box-shadow:none}
.clean-form label,.clean-nps-form label{display:block;margin-bottom:6px;color:var(--itp-ink);font-size:.82rem;font-weight:800}
.clean-form input,.clean-form select,.clean-form textarea,.clean-nps-form input,.clean-nps-form select,.clean-nps-form textarea{width:100%}
.clean-form textarea{min-height:120px;resize:vertical}
.clean-form .grid2,.clean-nps-form .grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.clean-form>div:not(.grid2):not(.clean-actions):not(.hint),.clean-nps-form>div:not(.grid2):not(.clean-actions):not(.stepper):not(.is-hidden){margin-bottom:14px}
.clean-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}
.clean-summary>div{padding:14px 0;border-top:1px solid var(--itp-line)}
.clean-summary span,.clean-summary strong{display:block}
.clean-summary span{color:var(--itp-muted);font-size:.72rem}
.clean-summary strong{margin-top:4px;font-size:.95rem}

/* NPS */
.clean-nps-form .stepper{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-bottom:26px;color:var(--itp-muted);font-size:.75rem}
.clean-nps-form .bar{height:5px;border-radius:999px;background:var(--itp-soft);overflow:hidden}
.clean-nps-form .bar>div{height:100%;background:var(--itp-accent)}
.clean-nps-form .scale{display:grid;grid-template-columns:repeat(11,1fr);gap:5px;margin-top:14px}
.clean-nps-form .scale button{min-width:0;min-height:42px;padding:0;border:1px solid var(--itp-line);border-radius:9px;background:var(--itp-surface);color:var(--itp-ink);font-weight:850;box-shadow:none}
.clean-nps-form .scale button:hover,.clean-nps-form .scale button.active,.clean-nps-form .scale button.is-selected{background:var(--itp-deep);border-color:var(--itp-deep);color:var(--itp-white)}
.clean-nps-alt{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:24px;padding-top:18px;border-top:1px solid var(--itp-line);color:var(--itp-muted);font-size:.8rem}

/* Legal */
.clean-legal-copy{max-width:800px}
.clean-legal-copy>section{padding:26px 0;border-bottom:1px solid var(--itp-line)}
.clean-legal-copy>section:first-child{padding-top:0}
.clean-legal-copy h2{margin:0 0 9px;font-size:clamp(1.45rem,3vw,2rem);line-height:1.12;letter-spacing:-.025em}
.clean-legal-copy p{margin:0;color:var(--itp-muted);line-height:1.72}
.clean-legal-copy .clean-link{margin-top:12px}
.clean-link-button{padding:0;border:0;background:none;font:inherit;cursor:pointer}

@media (max-width:820px){
  .clean-form .grid2,.clean-nps-form .grid2,.clean-summary{grid-template-columns:1fr}
  .clean-nps-form .scale{grid-template-columns:repeat(6,1fr)}
  .clean-nps-alt{align-items:flex-start;flex-direction:column;gap:8px}
}

/* v4.6.0 — acabamento flat: nenhum sublinhado/sombra decorativa herdada */
.public-clean-page a:not(.btn),
.itp-clean-footer a,
.itp-commercial-nav a,
.itp-site-drawer a,
.itp-commercial-bottom-nav a{
  text-decoration:none!important;
  text-shadow:none!important;
  box-shadow:none!important;
}
.public-clean-page a:not(.btn)::before,
.public-clean-page a:not(.btn)::after,
.itp-clean-footer a::before,
.itp-clean-footer a::after,
.itp-commercial-nav a::before,
.itp-commercial-nav a::after{
  content:none!important;
  display:none!important;
  box-shadow:none!important;
}
.clean-link:hover,
.clean-articles h3 a:hover,
.itp-clean-footer__links a:hover,
.itp-clean-footer__bottom a:hover{
  color:var(--itp-accent)!important;
  text-decoration:none!important;
}
.clean-link--on-dark:hover,
.itp-clean-footer a:hover{color:var(--itp-white)!important}
.itp-site-drawer,.app-drawer,
.itp-commercial-bottom-nav,
.itp-cookie-dialog-v462{box-shadow:none!important}

/* =====================================================
   v4.6.1 — Login direto da Área do Aluno + contraste
   ===================================================== */

/* Modal enxuto: uma única finalidade, sem texto de roteamento legado. */
.itp-student-login-modal{
  padding:20px!important;
  align-items:center!important;
  justify-content:center!important;
}
.itp-student-login{
  width:min(100%,440px)!important;
  max-height:min(680px,calc(100dvh - 32px));
  overflow:auto;
  padding:28px!important;
  border-radius:22px!important;
}
.itp-student-login__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:22px;
  margin-bottom:26px;
}
.itp-student-login__header .clean-label{margin-bottom:8px}
.itp-student-login__header h3{
  margin:0!important;
  color:var(--itp-ink)!important;
  font-size:clamp(1.75rem,4vw,2.15rem);
  line-height:1.04;
  letter-spacing:-.035em;
}
.itp-student-login__header p{
  margin:9px 0 0;
  color:var(--itp-muted)!important;
  font-size:.92rem;
  line-height:1.5;
}
.itp-student-login__close{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:42px;
  height:42px;
  padding:0;
  border:1px solid var(--itp-line)!important;
  border-radius:12px;
  background:transparent!important;
  color:var(--itp-ink)!important;
  box-shadow:none!important;
  cursor:pointer;
}
.itp-student-login__close:hover{background:var(--itp-soft)!important}
.itp-student-login__close svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
}
.itp-student-login__form{display:grid;gap:18px}
.itp-student-login__form .field{display:grid;gap:8px}
.itp-student-login__form label{
  color:var(--itp-ink)!important;
  font-size:.86rem;
  font-weight:850;
}
.itp-student-login__form input{
  width:100%;
  min-height:54px;
  padding:0 15px;
  font-size:1rem;
}
html[data-public-theme="olive-light"] .itp-student-login__submit.btn.primary{
  width:100%;
  min-height:54px;
  margin-top:2px;
  background:var(--itp-deep)!important;
  border-color:var(--itp-deep)!important;
  color:var(--itp-white)!important;
}
.itp-student-login__feedback:empty{display:none}
.itp-student-login__feedback:not(:empty){
  display:block;
  margin-top:-4px;
  padding:10px 12px;
  border-radius:9px;
  background:var(--itp-soft);
  color:var(--itp-muted)!important;
  font-size:.8rem;
  line-height:1.45;
}
.itp-student-login__feedback.is-error{background:#f1dfd8;color:#7a3828!important}
.itp-student-login__feedback.is-success{background:#dfe8d8;color:#344b2d!important}
.itp-student-login__feedback.is-info{background:var(--itp-soft);color:var(--itp-muted)!important}

/* Contraste explícito em superfícies olive escuras — não depende de atributo de tema. */
body.public-clean-page .clean-final-cta,
.clean-final-cta{color:var(--itp-white)!important}
body.public-clean-page .clean-final-cta h1,
body.public-clean-page .clean-final-cta h2,
body.public-clean-page .clean-final-cta h3,
body.public-clean-page .clean-final-cta strong,
.clean-final-cta h1,.clean-final-cta h2,.clean-final-cta h3,.clean-final-cta strong{color:var(--itp-white)!important}
body.public-clean-page .clean-final-cta p,
body.public-clean-page .clean-final-cta .clean-lead,
.clean-final-cta p,.clean-final-cta .clean-lead{color:#cbd3c5!important}
body.public-clean-page .clean-final-cta .clean-label,
.clean-final-cta .clean-label{color:#bdc99b!important}
body.public-clean-page .clean-final-cta .btn.primary,
.clean-final-cta .btn.primary{background:var(--itp-white)!important;border-color:var(--itp-white)!important;color:var(--itp-deep-2)!important}
body.public-clean-page .clean-final-cta .btn.primary:hover,
.clean-final-cta .btn.primary:hover{background:#ebecdf!important;border-color:#ebecdf!important}
.itp-clean-footer__brand>p{color:#bdc6b8!important}

@media (max-width:820px){
  .itp-student-login-modal{padding:16px!important}
  .itp-student-login{
    width:100%!important;
    padding:22px!important;
    border-radius:20px!important;
  }
  .itp-student-login__header{margin-bottom:22px}
  .itp-student-login__header h3{font-size:1.72rem}
  .itp-student-login__header p{font-size:.86rem}
  .itp-student-login__form{gap:16px}
}


/* =====================================================
   v4.6.4 — CTAs do Projeto e prova social resiliente
   ===================================================== */

/* Drawer: neutraliza regras legadas de maior especificidade. */
html body .itp-site-drawer.itp-minimal-drawer .drawer-body,
html body .itp-site-drawer.itp-minimal-drawer .drawer-nav,
html body .itp-site-drawer.itp-minimal-drawer .drawer-nav > .drawer-link,
html body .itp-site-drawer.itp-minimal-drawer .drawer-link__main,
html body .itp-site-drawer.itp-minimal-drawer .drawer-link__text,
html body .itp-site-drawer.itp-minimal-drawer .drawer-link__chevron,
html body .itp-site-drawer.itp-minimal-drawer .itp-minimal-drawer__account,
html body .itp-site-drawer.itp-minimal-drawer .itp-drawer-student-access{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
  backdrop-filter:none!important;
}
html body .itp-site-drawer.itp-minimal-drawer .drawer-body::before,
html body .itp-site-drawer.itp-minimal-drawer .drawer-body::after,
html body .itp-site-drawer.itp-minimal-drawer .drawer-nav::before,
html body .itp-site-drawer.itp-minimal-drawer .drawer-nav::after,
html body .itp-site-drawer.itp-minimal-drawer .drawer-link::before,
html body .itp-site-drawer.itp-minimal-drawer .drawer-link::after{content:none!important;display:none!important}
html body .itp-site-drawer.itp-minimal-drawer .drawer-nav > .drawer-link:hover,
html body .itp-site-drawer.itp-minimal-drawer .drawer-nav > .drawer-link:focus-visible,
html body .itp-site-drawer.itp-minimal-drawer .drawer-nav > .drawer-link.active{
  background:rgba(102,115,74,.055)!important;
  background-color:rgba(102,115,74,.055)!important;
}

/* Rodapé escuro: toda a tipografia recebe contraste explícito. */
html body footer.itp-clean-footer{color:#f3f5ef!important;background:var(--itp-deep-2)!important}
html body footer.itp-clean-footer .itp-clean-footer__identity strong{color:#fff!important}
html body footer.itp-clean-footer .itp-clean-footer__identity span,
html body footer.itp-clean-footer .itp-clean-footer__brand>p,
html body footer.itp-clean-footer .itp-clean-footer__student>span,
html body footer.itp-clean-footer .itp-clean-footer__bottom,
html body footer.itp-clean-footer .itp-clean-footer__bottom>span{color:#bcc5b8!important}
html body footer.itp-clean-footer .itp-clean-footer__instagram,
html body footer.itp-clean-footer .itp-clean-footer__instagram span,
html body footer.itp-clean-footer .itp-clean-footer__links a{color:#f0f3ec!important}
html body footer.itp-clean-footer .itp-clean-footer__bottom a,
html body footer.itp-clean-footer .itp-clean-footer__bottom button{color:#d2d8ce!important}
html body footer.itp-clean-footer .itp-clean-footer__student-button{background:#f7f7ef!important;color:var(--itp-deep-2)!important;border-color:#f7f7ef!important}

/* CTAs olive escuros: regra forte contra heranças antigas do tema claro. */
html body main.public-clean-page section.clean-final-cta,
html body main.public-clean-page .clean-final-cta{color:#f7f7ef!important;background:var(--itp-deep-2)!important}
html body main.public-clean-page .clean-final-cta h1,
html body main.public-clean-page .clean-final-cta h2,
html body main.public-clean-page .clean-final-cta h3,
html body main.public-clean-page .clean-final-cta strong{color:#f7f7ef!important}
html body main.public-clean-page .clean-final-cta p,
html body main.public-clean-page .clean-final-cta .clean-lead{color:#c7d0c2!important}
html body main.public-clean-page .clean-final-cta .clean-label{color:#c4cf9e!important}

/* Consentimento: ações sempre empilhadas e com leitura inequívoca. */
html body .itp-cookie-banner-v462__actions,
html body .itp-cookie-actions-v462{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
html body .itp-cookie-banner-v462__actions > *,
html body .itp-cookie-actions-v462 > *{width:100%!important;min-height:46px!important;margin:0!important}
html body .itp-cookie-banner-v462 .btn.primary{grid-column:auto!important}
html body .itp-cookie-banner-v462 .itp-cookie-text-action{
  border:1px solid var(--itp-line-strong)!important;
  border-radius:10px!important;
  background:transparent!important;
  color:var(--itp-muted)!important;
}

/* Switches: OFF e ON deliberadamente diferentes. */
html body .itp-cookie-option-v462 input[type="checkbox"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:46px!important;
  height:26px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #b7bbae!important;
  border-radius:999px!important;
  background:#dfe1d8!important;
  box-shadow:inset 0 0 0 1px rgba(31,40,29,.025)!important;
  position:relative!important;
  cursor:pointer!important;
  transition:background .18s ease,border-color .18s ease!important;
}
html body .itp-cookie-option-v462 input[type="checkbox"]::after{
  content:""!important;
  position:absolute!important;
  top:3px!important;
  left:3px!important;
  width:18px!important;
  height:18px!important;
  border-radius:50%!important;
  background:#fff!important;
  border:1px solid rgba(31,40,29,.08)!important;
  box-shadow:0 1px 3px rgba(31,40,29,.18)!important;
  transform:translateX(0)!important;
  transition:transform .18s ease!important;
}
html body .itp-cookie-option-v462 input[type="checkbox"]:checked{
  background:#5f6f3f!important;
  border-color:#5f6f3f!important;
}
html body .itp-cookie-option-v462 input[type="checkbox"]:checked::after{transform:translateX(20px)!important}
html body .itp-cookie-option-v462 input[type="checkbox"]:focus-visible{outline:3px solid rgba(95,111,63,.22)!important;outline-offset:3px!important}
html body .itp-cookie-required-status{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:58px!important;
  min-height:28px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  background:#e3e6db!important;
  color:#59614f!important;
  font-size:.7rem!important;
  font-weight:900!important;
  letter-spacing:.03em!important;
}

/* Prova social: cards com respiro real, inclusive nas listas compactas. */
.clean-testimonials{gap:16px}
.clean-testimonials article,
.clean-testimonials .testimonial-card{padding:24px!important}
.clean-testimonials--compact{margin-top:26px;gap:16px}
.clean-testimonials--compact article,
.clean-testimonials--compact .testimonial-card{padding:22px 24px!important;border:1px solid var(--itp-line)!important;border-radius:16px!important;background:rgba(250,249,242,.72)!important}
.clean-testimonials--compact article:first-child,
.clean-testimonials--compact article:last-child{padding:22px 24px!important;border:1px solid var(--itp-line)!important}
.clean-testimonials .testimonial-card .eyebrow,
.clean-testimonials article>span{margin-bottom:10px!important}
.clean-testimonials .testimonial-card p,
.clean-testimonials blockquote{margin:0!important}

@media (max-width:820px){
  .clean-testimonials{gap:14px}
  .clean-testimonials article,
  .clean-testimonials .testimonial-card,
  .clean-testimonials--compact article,
  .clean-testimonials--compact .testimonial-card,
  .clean-testimonials--compact article:first-child,
  .clean-testimonials--compact article:last-child{padding:20px 22px!important}
}

@media (max-width:820px){
  html body .itp-cookie-banner-v462__actions,
  html body .itp-cookie-actions-v462{grid-template-columns:1fr!important}
}

/* ==========================================================
   v4.6.7 — Formulários, páginas utilitárias e Bio
   ========================================================== */

/* Formulários públicos: uma superfície, respiro e ritmo consistente. */
.public-cadastro .clean-narrow,
.public-nps .clean-narrow,
.public-agendamento .clean-narrow{
  width:min(760px,100%);
}

.public-cadastro .clean-form,
.public-nps .clean-nps-form,
.public-agendamento .clean-form{
  box-sizing:border-box;
  width:100%;
  padding:clamp(20px,3vw,30px);
  border:1px solid var(--itp-line)!important;
  border-radius:18px!important;
  background:rgba(250,249,242,.82)!important;
  box-shadow:none!important;
}

.public-cadastro .clean-form .form-grid,
.public-cadastro .clean-form .form-grid.two{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px 18px!important;
}

.public-cadastro .clean-form .field{
  min-width:0;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.public-cadastro .clean-form .field.triage-field-wide{
  grid-column:1/-1;
}

.public-cadastro .clean-form label,
.public-nps .clean-nps-form label,
.public-agendamento .clean-form label{
  margin-bottom:8px!important;
  color:var(--itp-ink)!important;
  font-size:.82rem!important;
  font-weight:850!important;
}

.public-cadastro .clean-form input,
.public-cadastro .clean-form select,
.public-cadastro .clean-form textarea,
.public-nps .clean-nps-form input,
.public-nps .clean-nps-form select,
.public-nps .clean-nps-form textarea,
.public-agendamento .clean-form input,
.public-agendamento .clean-form select,
.public-agendamento .clean-form textarea{
  box-sizing:border-box!important;
  width:100%!important;
  min-height:50px!important;
  padding:12px 14px!important;
  border-radius:11px!important;
  background:var(--itp-white)!important;
  color:var(--itp-ink)!important;
  font-size:.94rem!important;
  line-height:1.35!important;
}

.public-cadastro .clean-form textarea,
.public-nps .clean-nps-form textarea,
.public-agendamento .clean-form textarea{
  min-height:118px!important;
}

.public-cadastro__note{
  margin:20px 0 0!important;
  padding-top:18px;
  border-top:1px solid var(--itp-line);
}

.public-cadastro .clean-actions,
.public-nps .clean-actions,
.public-agendamento .clean-actions{
  margin-top:20px!important;
}

/* Botões escuros: o texto deve permanecer claro mesmo com CSS legado. */
html body.page-nps .clean-actions .btn.primary,
html body.page-agendamento .clean-actions .btn.primary,
html body.page-criar-conta .clean-actions .btn.primary{
  background:var(--itp-deep)!important;
  border-color:var(--itp-deep)!important;
  color:#fffef8!important;
  -webkit-text-fill-color:#fffef8!important;
}

/* NPS: o usuário vê somente o progresso; classificação é dado interno. */
.public-nps .clean-nps-form .stepper{
  grid-template-columns:auto 1fr!important;
  margin-bottom:24px!important;
}
.public-nps .clean-nps-form #classLabel{display:none!important}
.public-nps .clean-nps-alt{display:none!important}

/* Agenda: menos informação técnica, mais foco na ação. */
.public-agendamento .clean-form .clean-actions>.btn{
  width:100%;
  justify-content:center;
}
.public-agendamento #agendaFeedback{
  margin-top:14px;
}

/* Bio: contraste explícito no link principal escuro. */
html body.linkbio-page .linkbio-link--primary,
html body.linkbio-page .linkbio-link--primary strong,
html body.linkbio-page .linkbio-link--primary .linkbio-link__arrow,
html body.linkbio-page .linkbio-link--primary .linkbio-link__icon{
  color:#fffef8!important;
  -webkit-text-fill-color:#fffef8!important;
}
html body.linkbio-page .linkbio-link--primary small{
  color:#d9dfd3!important;
  -webkit-text-fill-color:#d9dfd3!important;
}

@media (max-width:760px){
  .public-cadastro .clean-form,
  .public-nps .clean-nps-form,
  .public-agendamento .clean-form{
    padding:18px 16px!important;
    border-radius:15px!important;
  }

  .public-cadastro .clean-form .form-grid,
  .public-cadastro .clean-form .form-grid.two{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }

  .public-cadastro .clean-form .field.triage-field-wide{
    grid-column:auto;
  }

  .public-cadastro .clean-form input,
  .public-cadastro .clean-form select,
  .public-cadastro .clean-form textarea,
  .public-nps .clean-nps-form input,
  .public-nps .clean-nps-form select,
  .public-nps .clean-nps-form textarea,
  .public-agendamento .clean-form input,
  .public-agendamento .clean-form select,
  .public-agendamento .clean-form textarea{
    min-height:48px!important;
    padding:11px 13px!important;
    font-size:.92rem!important;
  }

  .public-cadastro .clean-form textarea,
  .public-nps .clean-nps-form textarea,
  .public-agendamento .clean-form textarea{
    min-height:108px!important;
  }
}

.public-cadastro .clean-form .form-grid,
.public-cadastro .clean-form .form-grid.two{
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}


/* ==========================================================
   v4.6.7 — Contraste definitivo do rodapé em páginas utilitárias
   ========================================================== */
html body footer.itp-clean-footer .itp-clean-footer__description,
html body.page-nps footer.itp-clean-footer .itp-clean-footer__description,
html body.page-agendamento footer.itp-clean-footer .itp-clean-footer__description{
  color:#c7d0c2!important;
  -webkit-text-fill-color:#c7d0c2!important;
  opacity:1!important;
  text-shadow:none!important;
}
html body.page-nps footer.itp-clean-footer .itp-clean-footer__identity span,
html body.page-agendamento footer.itp-clean-footer .itp-clean-footer__identity span,
html body.page-nps footer.itp-clean-footer .itp-clean-footer__student>span,
html body.page-agendamento footer.itp-clean-footer .itp-clean-footer__student>span,
html body.page-nps footer.itp-clean-footer .itp-clean-footer__bottom,
html body.page-agendamento footer.itp-clean-footer .itp-clean-footer__bottom{
  color:#c1cabd!important;
  -webkit-text-fill-color:#c1cabd!important;
  opacity:1!important;
}
html body.page-nps footer.itp-clean-footer .itp-clean-footer__links a,
html body.page-agendamento footer.itp-clean-footer .itp-clean-footer__links a,
html body.page-nps footer.itp-clean-footer .itp-clean-footer__instagram,
html body.page-agendamento footer.itp-clean-footer .itp-clean-footer__instagram{
  color:#f3f5ef!important;
  -webkit-text-fill-color:#f3f5ef!important;
}

/* ==========================================================
   v4.6.8 — Centralização do texto descritivo do rodapé
   NPS e Agenda: evita herança local de text-align:left.
   ========================================================== */
html body.page-nps footer.itp-clean-footer .itp-clean-footer__brand,
html body.page-agendamento footer.itp-clean-footer .itp-clean-footer__brand{
  text-align:center!important;
}
html body.page-nps footer.itp-clean-footer .itp-clean-footer__description,
html body.page-agendamento footer.itp-clean-footer .itp-clean-footer__description{
  width:min(38ch,100%)!important;
  margin:14px auto 0!important;
  text-align:center!important;
}
