/* Parcerias Fitmoda — page styles
   Built on the Fitmoda design system tokens (ds/styles.css). */

html{scroll-behavior:smooth}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-body)}
body.is-locked{overflow:hidden}
h1,h2,h3{margin:0;font-family:var(--font-display);color:var(--text-heading)}
p{margin:0;text-wrap:pretty}
summary{list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
[id]{scroll-margin-top:88px}

.section{max-width:var(--page-max);margin:0 auto;padding:80px var(--page-gutter) 0}
.display-num{font-family:var(--font-display);font-weight:var(--fw-bold);letter-spacing:var(--ls-display);line-height:1}
.kicker{font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.16em;text-transform:uppercase}
.eyebrow-inverse{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-400)}
.small-note{font-size:var(--fs-2xs);color:var(--text-muted)}
.badge-accent{
  display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:2px;
  background:var(--accent-500);color:var(--ink-000);
  font-size:var(--fs-3xs);font-weight:var(--fw-bold);letter-spacing:.16em;text-transform:uppercase;
}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:40;background:var(--ink-000);box-shadow:var(--shadow-inset-hairline)}
.site-header__inner{max-width:var(--page-max);margin:0 auto;padding:0 var(--page-gutter);height:72px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:10px}
.brand img{height:28px;width:122px;object-fit:contain}
.site-header__divider{width:1px;height:22px;background:var(--border-subtle)}
.site-header__tag{font-size:var(--fs-2xs);font-weight:var(--fw-medium);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}
.site-header__spacer{flex:1}
.site-nav{display:flex;align-items:center;gap:24px;flex:0 0 auto}
.site-nav a:not(.fm-btn){font-size:var(--fs-xs);font-weight:var(--fw-medium);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-700);white-space:nowrap}
.site-nav a:not(.fm-btn):hover{color:var(--link-hover)}

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--surface-inverse);color:var(--text-inverse);overflow:hidden}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:75% 25%}
.hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,16,20,.94) 0%,rgba(16,16,20,.86) 42%,rgba(16,16,20,.35) 100%)}
.hero__inner{position:relative;max-width:var(--page-max);margin:0 auto;padding:120px var(--page-gutter) 112px}
.hero__content{max-width:640px;display:grid;gap:24px;justify-items:start}
.hero__title{font-size:var(--fs-5xl);font-weight:var(--fw-black);letter-spacing:var(--ls-display);line-height:var(--lh-tight);color:var(--ink-000)}
.hero__lede{font-size:var(--fs-lg);line-height:var(--lh-relaxed);color:var(--ink-300)}
.hero__lede strong{color:var(--ink-000);font-weight:var(--fw-semibold)}
.hero__ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.hero__note{font-size:var(--fs-2xs);color:var(--ink-400)}
.hero-stats{position:relative;border-top:1px solid rgba(255,255,255,.12);background:rgba(16,16,20,.82)}
.hero-stats__inner{margin:0 auto;max-width:var(--page-max);padding:28px var(--page-gutter);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:24px}
.stat__value{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:var(--ls-display);color:var(--ink-000)}
.stat__label{margin:0;display:block;margin-top:2px;font-size:var(--fs-xs);color:var(--ink-400)}

/* ---------- Como funciona ---------- */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr));gap:20px}
.step{
  border:1px solid var(--border-subtle);border-radius:var(--radius-card);padding:32px 28px;
  display:grid;gap:14px;align-content:start;background:var(--surface-card);transition:var(--transition-control),box-shadow var(--dur-fast) var(--ease-standard);
}
.step:hover{box-shadow:var(--shadow-sm);border-color:var(--border-default)}
.step__top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.step__icon{width:52px;height:52px;flex:0 0 auto;border-radius:999px;background:var(--surface-sunken);display:grid;place-items:center;color:var(--ink-900)}
.step__num{font-size:var(--fs-3xl);color:var(--ink-200)}
.step .kicker{color:var(--accent-600)}
.step h3{font-size:var(--fs-xl);font-weight:var(--fw-semibold);letter-spacing:var(--ls-heading)}
.step p{font-size:var(--fs-sm);line-height:var(--lh-relaxed);color:var(--text-muted)}
.step--dark{border-color:var(--border-strong);background:var(--surface-inverse);color:var(--ink-300)}
.step--dark:hover{box-shadow:none;border-color:var(--border-strong)}
.step--dark .step__icon{background:var(--ink-000)}
.step--dark .step__num{color:var(--ink-400)}
.step--dark .kicker{color:var(--accent-400)}
.step--dark h3{color:var(--ink-000)}
.step--dark p{color:var(--ink-300)}

.cta-strip{margin-top:32px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:22px 26px;border:1px solid var(--border-subtle);border-radius:var(--radius-card)}
.cta-strip__text{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:var(--fw-semibold);letter-spacing:var(--ls-heading);color:var(--text-heading)}

/* ---------- Trilha ---------- */
.levels{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));align-items:stretch;gap:16px}
.level{
  min-width:0;display:flex;flex-direction:column;border-radius:var(--radius-card);overflow:hidden;
  background:var(--surface-card);border:1px solid var(--border-subtle);transition:box-shadow var(--dur-fast) var(--ease-standard);
}
.level:hover{box-shadow:var(--shadow-sm)}
.level__media{position:relative}
.level__media img{width:100%;height:210px;object-fit:cover;display:block}
.level__media::before,.level__media::after{content:"";position:absolute;inset:0}
.level__media::before{background:var(--overlay-protect)}
.level__media::after{background:linear-gradient(180deg,rgba(16,16,20,.6) 0%,rgba(16,16,20,0) 38%)}
.level__label{position:absolute;inset:0;z-index:1;padding:16px 18px;display:flex;flex-direction:column;justify-content:space-between;color:var(--ink-000)}
.level__num{font-size:var(--fs-2xl)}
.level__name{color:var(--ink-000);font-family:var(--font-display);font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:var(--ls-display)}
.level__body{padding:20px 18px 22px;display:grid;gap:12px;align-content:start;flex:1}
.level__head{display:grid;gap:8px;justify-items:start}
.level__req{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.level__title{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:var(--lh-snug);letter-spacing:var(--ls-heading);color:var(--text-heading)}
.level__rule{height:1px;background:var(--border-subtle)}
.level__perks{margin:0;padding:0;list-style:none;display:grid;gap:9px;font-size:var(--fs-sm);line-height:var(--lh-relaxed);color:var(--text-body)}
.level__perks li{display:flex;gap:8px}
.level__perks .fm-icon{margin-top:4px}
.level--top{background:var(--surface-inverse);border-color:var(--ink-900)}
.level--top .level__req{font-weight:var(--fw-regular);color:var(--ink-400)}
.level--top .level__title{color:var(--ink-000)}
.level--top .level__rule{background:rgba(255,255,255,.14)}
.level--top .level__perks{color:var(--ink-300)}
.level--top .level__perks .fm-icon{color:var(--ink-000)}
.level__badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:2px;background:var(--accent-500);color:var(--ink-000);font-size:var(--fs-3xs);font-weight:var(--fw-bold);letter-spacing:.06em;text-transform:uppercase}

.level-notes{margin-top:28px;padding-top:20px;border-top:1px solid var(--border-subtle);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:20px 40px}
.level-note{display:grid;gap:6px}
.level-note__title{font-size:var(--fs-3xs);font-weight:var(--fw-bold);letter-spacing:.16em;text-transform:uppercase;color:var(--text-heading)}
.level-note__text{font-size:var(--fs-xs);line-height:var(--lh-relaxed);color:var(--text-muted)}

/* ---------- Banner editorial ---------- */
.banner{margin-top:80px;position:relative;background:var(--ink-900)}
.banner > img{width:100%;height:420px;object-fit:cover;object-position:center 30%;display:block}
.banner__shade{position:absolute;inset:0;background:var(--overlay-protect)}
.banner__overlay{position:absolute;inset:0;display:grid;align-items:end}
.banner__inner{max-width:var(--page-max);width:100%;margin:0 auto;padding:48px var(--page-gutter);display:grid;gap:14px;justify-items:start}
.banner__eyebrow{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-000)}
.banner h2{font-size:var(--fs-3xl);font-weight:var(--fw-semibold);letter-spacing:var(--ls-display);color:var(--ink-000);max-width:620px}

/* ---------- Mais que peças ---------- */
.benefits{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));border-radius:var(--radius-card);overflow:hidden;background:var(--surface-inverse);align-items:stretch}
.benefits__media{position:relative;min-height:340px}
.benefits__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 12%}
.benefits__list{padding:36px 34px;display:grid;align-content:center}
.benefit{display:grid;gap:6px;padding:18px 0;border-top:1px solid rgba(255,255,255,.14)}
.benefit:first-child{padding-top:0;border-top:0}
.benefit__title{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--ink-000)}
.benefit p{font-size:var(--fs-sm);line-height:var(--lh-relaxed);color:var(--ink-300)}
.benefits__cta{padding-top:22px;border-top:1px solid rgba(255,255,255,.14);display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.benefits__cta span{font-size:var(--fs-2xs);color:var(--ink-400)}

/* ---------- Depoimentos ---------- */
.testimonials{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px;align-items:start}
.after-cta{margin-top:28px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}

/* ---------- Regras ---------- */
.rules{margin-top:80px;background:var(--surface-inverse);color:var(--text-inverse)}
.rules__inner{max-width:var(--page-max);margin:0 auto;padding:72px var(--page-gutter)}
.rules__head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap;margin-bottom:40px}
.rules__intro{display:grid;gap:12px;max-width:560px}
.rules__intro h2{font-size:var(--fs-3xl);font-weight:var(--fw-semibold);letter-spacing:var(--ls-display);line-height:var(--lh-snug);color:var(--ink-000)}
.rules__intro p{font-size:var(--fs-md);line-height:var(--lh-relaxed);color:var(--ink-300)}
.rules__action{display:grid;gap:8px;justify-items:start}
.rules__action span{font-size:var(--fs-2xs);color:var(--ink-400)}
.rules__grid{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:32px}
.rule{display:grid;gap:8px;align-content:start;padding-top:24px;border-top:1px solid rgba(255,255,255,.18)}
.rule__num{font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.16em;color:var(--accent-400)}
.rule__title{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:var(--fw-semibold);letter-spacing:var(--ls-heading);color:var(--ink-000)}
.rule p{font-size:var(--fs-sm);line-height:var(--lh-relaxed);color:var(--ink-300)}

/* ---------- FAQ ---------- */
.faq{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:56px;align-items:start}
.faq__aside{display:grid;gap:16px;justify-items:start;position:sticky;top:96px}
.faq__aside h2{font-size:var(--fs-3xl);font-weight:var(--fw-semibold);letter-spacing:var(--ls-display);line-height:var(--lh-snug)}
.faq__aside p{font-size:var(--fs-md);line-height:var(--lh-relaxed);color:var(--text-muted)}
.faq__item{border-top:1px solid var(--border-subtle)}
.faq__item:first-child{border-top-color:var(--border-strong)}
.faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;font-family:var(--font-display);font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-heading)}
.faq__item summary .fm-icon{transition:transform var(--dur-fast) var(--ease-standard)}
.faq__item[open] summary .fm-icon{transform:rotate(180deg)}
.faq__item p{padding:0 0 20px;font-size:var(--fs-sm);line-height:var(--lh-relaxed);color:var(--text-muted);max-width:640px}
.faq__item[open] > p{animation:fmDetailIn var(--dur-base) var(--ease-out)}
@supports (interpolate-size:allow-keywords){
  html{interpolate-size:allow-keywords}
  .faq__item::details-content{height:0;overflow:hidden;transition:height var(--dur-base) var(--ease-standard),content-visibility var(--dur-base) allow-discrete}
  .faq__item[open]::details-content{height:auto}
}

/* ---------- CTA final ---------- */
.final-cta{border-radius:var(--radius-card);overflow:hidden;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));background:var(--surface-inverse)}
.final-cta > img{width:100%;height:100%;min-height:300px;object-fit:cover}
.final-cta__body{padding:56px 40px;display:grid;gap:18px;justify-items:start;align-content:center}
.final-cta__body h2{font-size:var(--fs-3xl);font-weight:var(--fw-semibold);letter-spacing:var(--ls-display);color:var(--ink-000);max-width:460px}
.final-cta__body p{font-size:var(--fs-md);line-height:var(--lh-relaxed);color:var(--ink-300);max-width:440px}
.final-cta__body .fm-btn{margin-top:8px}

/* ---------- Footer ---------- */
.site-footer{margin-top:80px;background:var(--surface-inverse);color:var(--ink-300)}
.site-footer__grid{max-width:var(--page-max);margin:0 auto;padding:56px var(--page-gutter) 28px;display:grid;grid-template-columns:minmax(240px,1.2fr) repeat(2,minmax(0,1fr));gap:48px}
.site-footer__about{display:grid;gap:14px;align-content:start}
.site-footer__about img{height:28px;width:122px;object-fit:contain;object-position:left center}
.site-footer__about p{font-size:var(--fs-xs);line-height:var(--lh-relaxed);color:var(--ink-300);max-width:280px}
.site-footer__contacts{display:grid;gap:8px;margin-top:4px}
.site-footer__contacts a{display:flex;align-items:center;gap:8px;font-size:var(--fs-xs);color:var(--ink-000)}
.site-footer__col{display:grid;gap:10px;align-content:start}
.site-footer__col h2{font-family:var(--font-display);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--ink-000);letter-spacing:0}
.site-footer__col a{font-size:var(--fs-xs);color:var(--ink-300)}
.site-footer a:hover{color:var(--accent-400)}
.site-footer__legal{border-top:1px solid rgba(255,255,255,.12)}
.site-footer__legal div{max-width:var(--page-max);margin:0 auto;padding:18px var(--page-gutter);display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:var(--fs-3xs);color:var(--ink-500)}

/* ---------- Modal de cadastro ---------- */
.modal{position:fixed;inset:0;z-index:90;background:var(--overlay-scrim);overflow-y:auto;padding:32px 16px;display:grid;align-items:start;justify-items:center;animation:fmScrimIn var(--dur-fast) var(--ease-out)}
.modal[hidden]{display:none}
.modal__dialog{width:100%;max-width:760px;background:var(--surface-card);border-radius:var(--radius-card);box-shadow:var(--elevation-drawer);animation:fmModalIn var(--dur-base) var(--ease-out)}
.modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:28px 32px 20px;border-bottom:1px solid var(--border-subtle)}
.modal__head > div{display:grid;gap:6px}
.modal__eyebrow{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-600)}
.modal__head h2{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:var(--ls-display)}
.modal__head p{font-size:var(--fs-sm);color:var(--text-muted)}
.modal__body{padding:28px 32px 32px}

.signup{display:grid;gap:28px}
.signup__group{border:0;margin:0;padding:0;display:grid;gap:16px;min-width:0}
.signup__group + .signup__group,.signup__footer{border-top:1px solid var(--border-subtle);padding-top:24px}
.signup__group legend{font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.16em;text-transform:uppercase;color:var(--text-heading);padding:0 0 4px;float:left;width:100%}
.signup__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:16px}
.signup__choice{display:grid;gap:10px}
.signup__choice-label{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-heading)}
.signup__tags{display:flex;flex-wrap:wrap;gap:8px}
.signup__error{font-size:var(--fs-2xs);color:var(--red-600)}
.signup__error:empty{display:none}
.upload{position:relative;display:grid;gap:8px;justify-items:center;text-align:center;padding:28px 24px;border:1px dashed var(--border-default);border-radius:var(--radius-card);cursor:pointer;background:var(--surface-sunken);color:var(--ink-900);transition:var(--transition-control)}
.upload:hover,.upload.is-drag{border-color:var(--ink-900)}
.upload:focus-within{outline:2px solid var(--border-focus);outline-offset:2px}
.upload__title{font-family:var(--font-display);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-heading)}
.upload__hint{font-size:var(--fs-2xs);color:var(--text-muted)}
.upload input{position:absolute;opacity:0;width:0;height:0}
.file-chips{display:flex;flex-wrap:wrap;gap:8px}
.file-chips:empty{display:none}
.file-chips span{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px;border-radius:999px;background:var(--ink-100);font-size:var(--fs-2xs);color:var(--ink-700)}
.signup__footer{display:grid;gap:16px}
.signup__consent{display:grid;gap:10px}
.signup__terms{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sm);font-weight:var(--fw-medium);justify-self:start}
.signup__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}

.signup-done{display:grid;gap:16px;justify-items:start;padding:16px 0 8px}
.signup-done[hidden],.signup[hidden]{display:none}
.signup-done__icon{width:48px;height:48px;border-radius:999px;background:var(--ink-900);color:var(--ink-000);display:grid;place-items:center}
.signup-done h3{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:var(--ls-display)}
.signup-done p{font-size:var(--fs-md);line-height:var(--lh-relaxed);color:var(--text-muted);max-width:520px}
.signup-done__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}

/* ---------- WhatsApp ---------- */
.wa-float{position:fixed;right:24px;bottom:24px;z-index:50;width:60px;height:60px;border-radius:999px;background:#25D366;display:grid;place-items:center;box-shadow:var(--elevation-drawer);transition:background var(--dur-fast) var(--ease-standard),transform var(--dur-instant) var(--ease-standard)}
.wa-float:hover{background:#1DA851}
.wa-float:active{transform:scale(.96)}

/* ---------- Motion ---------- */
@keyframes fmModalIn{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
@keyframes fmDetailIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes fmScrimIn{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .faq__item[open] > p,.modal,.modal__dialog{animation:none}
  .faq__item::details-content,.faq__item summary .fm-icon{transition:none}
}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .faq{grid-template-columns:minmax(0,1fr);gap:32px}
  .faq__aside{position:static}
  .site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-footer__about{grid-column:1/-1}
}
@media (max-width:760px){
  .site-nav a:not(.fm-btn),.site-header__divider,.site-header__tag{display:none}
  .hero__inner{padding:80px var(--page-gutter) 72px}
  .hero__title{font-size:var(--fs-4xl)}
  .hero__lede{font-size:var(--fs-md)}
  .section{padding-top:64px}
  .fm-section-heading h2,.banner h2,.rules__intro h2,.faq__aside h2,.final-cta__body h2{font-size:var(--fs-2xl)}
  .banner > img{height:360px}
  .benefits__list{padding:28px 22px}
  .final-cta__body{padding:40px 24px}
  .modal{padding:16px 12px}
  .modal__head{padding:22px 20px 18px}
  .modal__body{padding:22px 20px 24px}
}
@media (max-width:480px){
  :root{--page-gutter:var(--page-gutter-sm)}
  .site-header__inner{height:64px;gap:16px}
  .hero__title{font-size:40px}
  .hero__ctas .fm-btn{width:100%}
  .site-footer__grid{grid-template-columns:minmax(0,1fr);gap:32px}
  .wa-float{right:16px;bottom:16px;width:54px;height:54px}
}

/* ---------- Termo de Parceria ---------- */
.back-link{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-xs);font-weight:var(--fw-medium);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-700);white-space:nowrap}
.terms{max-width:var(--page-max);margin:0 auto;padding:56px var(--page-gutter) 0}
.breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--fs-2xs);color:var(--text-muted);margin-bottom:28px}
.breadcrumb a{color:var(--text-muted)}
.breadcrumb [aria-current]{color:var(--text-heading)}
.terms__intro{max-width:720px;display:grid;gap:14px;padding-bottom:40px;border-bottom:1px solid var(--border-strong)}
.terms__intro h1{font-size:var(--fs-4xl);font-weight:var(--fw-bold);letter-spacing:var(--ls-display);line-height:var(--lh-tight)}
.terms__intro p{font-size:var(--fs-lg);line-height:var(--lh-relaxed);color:var(--text-muted)}
.terms__version{font-size:var(--fs-2xs);color:var(--text-subtle)}
.terms__layout{display:grid;grid-template-columns:minmax(0,250px) minmax(0,1fr);gap:56px;align-items:start;padding-top:40px}
.terms__toc{position:sticky;top:96px;display:grid;gap:10px}
.terms__toc-title{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:.14em;text-transform:uppercase;color:var(--text-heading);padding-bottom:6px}
.terms__toc a{font-size:var(--fs-xs);color:var(--text-muted)}
.terms__toc a:hover{color:var(--link-hover)}
.terms__body{max-width:720px;display:grid;gap:36px}
.terms__body section{display:grid;gap:12px}
.terms__body h2{font-size:var(--fs-xl);font-weight:var(--fw-semibold);letter-spacing:var(--ls-heading)}
.terms__body p{font-size:var(--fs-md);line-height:var(--lh-relaxed)}
.terms__body strong{color:var(--text-heading)}
.terms__body p a{text-decoration:underline;text-underline-offset:2px}
.terms__levels-section{gap:16px}
.terms__levels{margin:0;display:grid;border-bottom:1px solid var(--border-subtle)}
.terms__levels > div{display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr);gap:8px 24px;padding:18px 0;border-top:1px solid var(--border-subtle)}
.terms__levels > div:first-child{border-top-color:var(--border-strong)}
.terms__levels dt{display:grid;gap:4px}
.terms__levels dd{margin:0;font-size:var(--fs-sm);line-height:var(--lh-relaxed)}
.terms__level-name{font-family:var(--font-display);font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-heading)}
.terms__level-req{font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.terms__body .terms__fineprint{font-size:var(--fs-xs);color:var(--text-muted)}
.terms__cta{margin-top:8px;padding:28px;border:1px solid var(--border-strong);border-radius:var(--radius-card);display:grid;gap:14px;justify-items:start}
.terms__cta h3{font-size:var(--fs-lg);font-weight:var(--fw-semibold);letter-spacing:var(--ls-heading)}
.terms__body .terms__cta p{font-size:var(--fs-sm);color:var(--text-muted)}
@media (max-width:900px){
  .terms__layout{grid-template-columns:minmax(0,1fr);gap:32px}
  .terms__toc{position:static;padding:20px;border:1px solid var(--border-subtle);border-radius:var(--radius-card)}
}
@media (max-width:760px){
  .terms{padding-top:40px}
  .terms__intro h1{font-size:var(--fs-2xl)}
  .terms__intro p{font-size:var(--fs-md)}
  .back-link{font-size:var(--fs-2xs)}
}
@media (max-width:480px){
  .terms__levels > div{grid-template-columns:minmax(0,1fr)}
  .terms__cta{padding:22px}
}

/* Honeypot: fora da tela para pessoas, visível para robôs. */
.signup__hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
