/* Página /contrato: Condições Gerais da assessoria. Usa os tokens de site.css. */
.contract-page{--muted:#515861;--tint:#eaf0f8;--orange-tint:#fdf0d5;--cyan-tint:#e2f2f9}
.contract-hero{display:grid;grid-template-columns:1.25fr 1fr;gap:60px;align-items:end;background:var(--blue);color:var(--paper);padding:70px min(5vw,70px) 60px;border-bottom:8px solid var(--yellow)}
.contract-hero .eyebrow{color:#c9d6ea;font-size:11px}
.contract-hero h1{font-size:clamp(54px,7vw,104px);line-height:.88;letter-spacing:-.05em;margin-bottom:28px}
.contract-hero h1 span{color:var(--yellow)}
.contract-hero-lead{font-size:18px;max-width:520px;color:#e0e7f2;margin-bottom:30px}
.contract-hero .button{font-size:15px;padding:16px 22px;gap:12px}
.contract-hero .button .waymark{width:16px;height:16px;margin:0}
.contract-facts{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.contract-facts div{border-top:1px solid #5d80b3;padding:16px 0 18px}
.contract-facts dt{font-family:var(--sans);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--yellow);margin-bottom:6px}
.contract-facts dd{margin:0;font-size:14px;line-height:1.5;color:#e9eef6}

.contract-summary{background:#fff}
.contract-points{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:34px 26px}
.contract-points li{border-top:1px solid #a8b7cd;padding-top:20px}
.contract-points .index{color:var(--yellow);font-size:30px;font-weight:800;line-height:1;margin-bottom:16px;letter-spacing:-.03em}
.contract-points h3{font-size:20px;color:var(--blue);margin-bottom:10px;letter-spacing:-.02em}
.contract-points p{font-size:15px;line-height:1.55;color:var(--muted)}

.contract-body{display:grid;grid-template-columns:270px minmax(0,1fr);gap:70px;align-items:start}
.contract-toc{position:sticky;top:24px;max-height:calc(100dvh - 48px);overflow-y:auto;padding-right:6px}
.contract-toc ol{list-style:none;margin:0 0 24px;padding:0;font-size:14px}
.contract-toc li a{display:flex;gap:12px;padding:7px 0;text-decoration:none;border-top:1px solid var(--line);line-height:1.35}
.contract-toc li a:hover{color:var(--blue);text-decoration:underline}
.contract-toc li span{font-family:var(--sans);font-weight:700;color:var(--blue);min-width:24px}
.contract-toc .toc-annex span{color:var(--yellow)}
.contract-toc .button{width:100%;font-size:14px;gap:10px;min-height:48px;padding:12px 16px}
.contract-toc .button .waymark{margin:0}

.contract-text{max-width:800px}
.contract-text>h2{font-size:clamp(32px,3.4vw,48px);margin-bottom:34px}
.contract-parties{margin:0 0 26px}
.contract-parties div{display:grid;grid-template-columns:170px 1fr;gap:20px;padding:14px 0;border-top:1px solid var(--line)}
.contract-parties div:last-child{border-bottom:1px solid var(--line)}
.contract-parties dt{font-family:var(--sans);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--blue);padding-top:3px}
.contract-parties dd{margin:0;font-size:15px}
.contract-intro{background:var(--tint);border-left:3px solid var(--cyan);padding:20px 24px;font-size:16px;margin-bottom:50px!important}

.clause{margin-bottom:42px;scroll-margin-top:24px}
.clause h3{display:flex;align-items:baseline;gap:14px;font-size:22px;color:var(--blue);text-transform:uppercase;letter-spacing:-.01em;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:18px}
.clause h3 span{color:var(--yellow);font-size:30px;font-weight:800;letter-spacing:-.03em;min-width:40px}
.clause-item{position:relative;padding-left:52px;font-size:16px;line-height:1.65;margin-bottom:14px!important;scroll-margin-top:24px}
.clause-item .item-n{position:absolute;left:0;top:1px;font-family:var(--sans);font-weight:700;font-size:14px;color:var(--blue)}
.clause-item p{margin-bottom:6px}
.clause-item ul{margin:0;padding-left:20px}
.clause-item li{margin:5px 0}
.clause-item li::marker{color:var(--blue)}
.clause-item:target{background:var(--orange-tint);outline:8px solid var(--orange-tint)}
.contract-close{border:1px solid var(--blue);padding:22px 26px;font-size:15px;margin:10px 0 80px}
.contract-close p+p{margin-top:14px}

.annex{border-top:2px solid var(--blue);padding-top:40px;margin-bottom:80px;scroll-margin-top:24px}
.annex>h2{font-size:clamp(34px,3.6vw,52px);margin-bottom:16px}
.annex-lead{color:var(--muted);margin-bottom:28px!important}
.annex .fine{color:var(--muted);margin-top:10px}
.annex-sub{font-size:22px;color:var(--blue);margin:50px 0 16px}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.contract-table{width:100%;border-collapse:collapse;font-size:14px;min-width:620px}
.contract-table thead th{background:var(--blue);color:#fff;font-family:var(--sans);font-size:11px;letter-spacing:.08em;text-transform:uppercase;text-align:left;padding:13px 12px;font-weight:700}
.contract-table td,.contract-table tbody th{padding:13px 12px;border-bottom:1px solid var(--line);text-align:left}
.contract-table tbody th{font-weight:700}
.contract-table tbody tr:nth-child(even){background:var(--tint)}
.contract-table tr.featured{background:var(--orange-tint)!important}
.contract-table .money{font-family:var(--sans);font-weight:800;font-size:17px;white-space:nowrap}
.annex-notes{margin:26px 0 0;padding-left:20px;font-size:15px}
.annex-notes li{margin:6px 0}
.cancel-matrix tbody tr:nth-child(even){background:none}
.cancel-matrix td{border-left:2px solid #fff}
.cancel-matrix .cell-refund{background:var(--cyan-tint)}
.cancel-matrix .cell-guarantee{background:var(--orange-tint)}
.cancel-matrix .cell-none{background:#f1f1f1}

.timeline{list-style:none;margin:36px 0 0;padding:0;position:relative}
.timeline:before{content:'';position:absolute;left:150px;top:10px;bottom:10px;width:2px;background:var(--blue)}
.timeline .step{display:grid;grid-template-columns:150px 1fr;gap:0;padding:0 0 22px;position:relative}
.timeline .when{font-family:var(--sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--muted);text-align:right;padding:4px 26px 0 0}
.timeline .step:after{content:'';position:absolute;left:144px;top:4px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--blue)}
.timeline .is-refund:after{border-color:var(--cyan);background:radial-gradient(var(--cyan) 40%,#fff 45%)}
.timeline .is-guarantee:after{border-color:var(--yellow);background:radial-gradient(var(--yellow) 40%,#fff 45%)}
.timeline .step>div{padding-left:28px}
.timeline b{font-family:var(--sans);color:var(--blue);font-size:17px}
.timeline p{font-size:15px;color:var(--muted);margin-top:2px}

.commitments{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:44px}
.commitments>div{padding:24px 26px}
.commitments h3{font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}
.commitments ul{margin:0;padding-left:18px;font-size:15px}
.commitments li{margin:7px 0}
.commit-plauto{background:var(--blue);color:#fff}
.commit-plauto li::marker{color:var(--yellow)}
.commit-aluno{background:var(--tint)}
.commit-aluno li::marker{color:var(--blue)}

.contract-cta{display:flex;justify-content:space-between;align-items:center;gap:40px;background:var(--blue);color:#fff;padding:60px min(5vw,70px)}
.contract-cta h2{font-size:clamp(36px,4vw,56px);margin-bottom:12px}
.contract-cta em{color:var(--yellow)}
.contract-cta p{color:#e0e7f2}
.contract-cta .button{gap:12px}
.contract-cta .button .waymark{margin:0}
.footer-bottom [aria-current=page]{font-weight:700}

@media(max-width:1100px){.contract-points{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-body{grid-template-columns:220px minmax(0,1fr);gap:40px}}
@media(max-width:860px){.contract-body{grid-template-columns:minmax(0,1fr)}.contract-toc{position:static;max-height:none}.contract-toc ol{columns:2;column-gap:24px}.contract-toc li{break-inside:avoid}}
@media(max-width:760px){
.contract-hero{grid-template-columns:1fr;gap:36px;padding:40px 24px 36px}
.contract-hero h1{font-size:clamp(40px,12vw,80px)}
.contract-hero-lead{font-size:16px}
.contract-facts{grid-template-columns:1fr}
.contract-points{grid-template-columns:1fr;gap:24px}
.contract-toc ol{columns:1}
.contract-parties div{grid-template-columns:1fr;gap:4px}
.clause h3{font-size:19px}
.clause h3 span{font-size:24px;min-width:32px}
.clause-item{padding-left:0;font-size:15px}
.clause-item .item-n{position:static;margin-right:8px}
.clause-item>p:first-of-type,.clause-item>.item-n+p{display:inline}
.timeline:before{left:6px}
.timeline .step{grid-template-columns:1fr;padding-left:30px}
.timeline .step:after{left:0}
.timeline .when{text-align:left;padding:3px 0 4px}
.timeline .step>div{padding-left:0}
.commitments{grid-template-columns:1fr}
.contract-cta{flex-direction:column;align-items:flex-start;padding:48px 24px 110px}
}
@media print{.header,.contract-toc,.contract-cta,footer,.contract-hero .actions{display:none}.contract-hero{border:0}.contract-body{display:block}}
.contract-table td:nth-child(2){white-space:nowrap}

/* Bloco "Entregamos o treino. O App é o meio." */
.contract-delivery{background:var(--yellow)}
.contract-delivery .eyebrow{color:#111}
.contract-delivery .section-heading .lead{color:#2b2a26}
.delivery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.delivery-col{background:var(--paper);padding:26px 26px 28px}
.delivery-col .eyebrow{margin-bottom:10px;color:var(--blue)}
.delivery-col h3{font-size:24px;margin-bottom:14px}
.delivery-col ul{margin:0;padding-left:18px;font-size:15px}
.delivery-col li{margin:6px 0}
.delivery-col li::marker{color:var(--blue)}
.delivery-col.is-plauto{background:var(--blue);color:#fff}
.delivery-col.is-plauto .eyebrow{color:var(--yellow)}
.delivery-col.is-plauto li::marker{color:var(--yellow)}
.contract-delivery .fine{margin-top:18px}
.contract-delivery .fine a{font-weight:700}
@media(max-width:860px){.delivery-grid{grid-template-columns:1fr}}

/* Histórico de versões */
/* Histórico de versões: um cartão por versão (a tabela antiga sobrepunha o resumo da mudança às colunas vizinhas). */
.versions-list{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:14px}
.version{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px}
.version.is-current{border-left:6px solid var(--yellow);padding-left:18px}
.version-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.version-num{font-family:var(--sans);font-weight:800;font-size:20px;line-height:1.2;color:var(--blue)}
.version-date{font-size:15px;line-height:1.4;color:var(--muted)}
.version-pdf{margin-left:auto;display:inline-flex;align-items:center;padding:7px 16px;border:2px solid var(--blue);border-radius:999px;font-family:var(--sans);font-size:14px;font-weight:700;color:var(--blue);text-decoration:none;white-space:nowrap}
.version-pdf:hover,.version-pdf:focus-visible{background:var(--blue);color:#fff}
.version-note{margin:12px 0 0;font-size:16px;line-height:1.55;color:var(--ink);max-width:72ch}
.version-hash{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.version-hash span{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.version-hash code{flex:1 1 280px;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.5;color:var(--muted);word-break:break-all}
.tag-current{display:inline-block;padding:3px 8px;border-radius:4px;background:var(--yellow);color:#111;font-family:var(--sans);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
@media (max-width:560px){.version{padding:16px}.version.is-current{padding-left:12px}.version-pdf{margin-left:0}.version-date{flex-basis:100%}}
