/* Pilates borrows the public design tokens; all local rules stay inside this body. */
body.pilates-site { min-width:320px; margin:0; background:var(--cw-paper); color:var(--cw-ink); font:400 1rem/1.65 var(--font-sans); overflow-wrap:break-word; }
.pilates-site :is(h1,h2,h3,p,ul,ol,fieldset) { margin-block:0; }
.pilates-site :is(p,ul,ol) + :is(p,ul,ol) { margin-top:.8rem; }
.pilates-site :is(ul,ol) { padding-left:1.5rem; }
.pilates-site ul { list-style:disc outside; }
.pilates-site ol { list-style:decimal outside; }
.pilates-site ol.stack { list-style:none; padding-left:0; }
.pilates-site li { padding-block:.2rem; }
.pilates-site :is(h1,h2,h3) { color:var(--cw-ink); text-wrap:balance; }
.pilates-site :is(h1,h2,h3,.hero-card,.wordmark) { font-family:var(--font-display); font-optical-sizing:auto; font-weight:450; }
.pilates-site h1 { max-width:16ch; font-size:clamp(2.55rem,5vw,4.65rem); line-height:1.06; letter-spacing:-.05em; }
.pilates-site h2 { font-size:clamp(1.5rem,2.6vw,2rem); line-height:1.2; letter-spacing:-.025em; }
.pilates-site h3 { font-size:1.25rem; line-height:1.28; }
.pilates-site :is(h1,h2,h3) + :is(p,ul,ol,form,.cards) { margin-top:1rem; }
.pilates-site p { max-width:70ch; }
.pilates-site a { color:var(--cw-ink); text-underline-offset:.25em; }
.pilates-site a:hover { color:#255950; }
.pilates-site :focus-visible { outline:3px solid var(--cw-ink); outline-offset:4px; }
.pilates-site main:focus { outline:none; }
.pilates-site :is(a,button,summary,input[type="submit"]) { min-height:44px; }

.pilates-site .shell { width:min(100%,var(--cw-max)); margin-inline:auto; padding-inline:var(--cw-gutter); }
.pilates-site .skip-link { position:fixed; z-index:200; top:1rem; left:1rem; transform:translateY(-180%); padding:.7rem 1rem; border-radius:.4rem; background:var(--cw-ink); color:var(--cw-white); }
.pilates-site .skip-link:focus { transform:none; }
.pilates-site .site-header { border-bottom:1px solid var(--cw-rule); background:var(--cw-paper); }
.pilates-site .header-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.75rem 2rem; min-height:5.5rem; padding-block:.75rem; }
.pilates-site .wordmark { display:inline-flex; align-items:center; max-width:100%; min-height:44px; font-size:clamp(1.3rem,2vw,1.55rem); line-height:1.1; letter-spacing:-.03em; text-decoration:none; }
.pilates-site .wordmark { font-weight:500; }
.pilates-site .wordmark:hover { text-decoration:underline; }
.pilates-site .site-header nav { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:.2rem .45rem; }
.pilates-site .site-header nav a, .pilates-site .nav-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:.55rem .65rem; border:0; border-radius:.4rem; background:transparent; color:var(--cw-ink); font:600 .875rem/1.3 var(--font-sans); text-decoration:none; cursor:pointer; }
.pilates-site .site-header nav a:hover, .pilates-site .nav-button:hover { background:var(--cw-sky); }
.pilates-site .site-header nav form { display:inline-flex; margin:0; }
.pilates-site .site-header nav .nav-button { border:1px solid var(--cw-ink); }
.pilates-site .mobile-navigation { display:none; }
.pilates-site .mobile-navigation > summary { width:fit-content; min-height:44px; padding:.55rem .85rem; border:1px solid var(--cw-ink); border-radius:.4rem; font-weight:650; cursor:pointer; }
.pilates-site .mobile-navigation > summary:hover { background:var(--cw-sky); }
.pilates-site main.shell { min-height:55vh; padding-block:clamp(2rem,4vw,3.5rem) 5rem; }
.pilates-site .site-footer { border-top:1px solid var(--cw-rule); padding-block:2rem; color:var(--cw-muted); font-size:.875rem; }

.pilates-site .eyebrow { display:block; margin-bottom:1rem; color:var(--cw-muted); font-size:.8rem; font-weight:650; line-height:1.45; letter-spacing:.12em; text-transform:uppercase; }
.pilates-site .hero { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(250px,.88fr); align-items:center; gap:clamp(2rem,5vw,5rem); padding-block:clamp(1.5rem,4vw,3.5rem) clamp(3rem,7vw,6rem); }
.pilates-site .hero > * { min-width:0; }
.pilates-site .hero h1 { max-width:12ch; font-size:clamp(3rem,5.6vw,5.65rem); line-height:1.04; letter-spacing:-.055em; }
.pilates-site .hero h1 + p { max-width:38rem; margin-top:1.55rem; color:var(--cw-muted); font-size:1.05rem; line-height:1.8; }
.pilates-site .hero-card { display:grid; align-content:center; min-height:23rem; padding:clamp(1.5rem,4vw,3rem); border-radius:5rem .6rem .6rem .6rem; background:var(--cw-sky); font-size:clamp(1.4rem,2.3vw,2.1rem); line-height:1.2; }
.pilates-site .hero-card span { display:block; padding-block:1rem; border-bottom:1px solid var(--cw-rule); }
.pilates-site .hero-card span:first-child { padding-top:0; }
.pilates-site .hero-card span:last-child { padding-bottom:0; border-bottom:0; }

.pilates-site .section { padding-block:1.5rem 4rem; }
.pilates-site .section > h1 { margin-bottom:1.4rem; }
.pilates-site .section > h2 { font-size:clamp(2rem,4vw,3.3rem); line-height:1.12; margin-bottom:1.75rem; }
.pilates-site .section > h2:not(:first-of-type) { margin-top:3rem; }
.pilates-site .section > :is(.cards,.card,form,details) + h2 { margin-top:3rem; }
.pilates-site .cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:1rem; margin-top:1.75rem; }
.pilates-site .card { min-width:0; padding:clamp(1.25rem,2.5vw,2rem); border:1px solid var(--cw-rule); border-radius:.5rem; background:var(--cw-white); }
.pilates-site .card :is(h2,h3) { font-family:var(--font-display); font-optical-sizing:auto; font-weight:450; }
.pilates-site .card > :is(p,h3,form,details,.button) + :is(p,h3,form,details,.button) { margin-top:1rem; }
.pilates-site .card a:not(.button) { display:inline-flex; align-items:center; padding-block:.4rem; font-weight:600; }
.pilates-site .review-card { max-width:920px; margin-block:1rem; }
.pilates-site .review-card > h3 { margin-top:1.6rem; }
.pilates-site .form-page { max-width:580px; margin:1.5rem auto 4rem; }
.pilates-site .form-page.wide { max-width:860px; }
.pilates-site .form-page > h2 { margin-top:2rem; }
.pilates-site .form-page > p + p { margin-top:1rem; }

.pilates-site :is(.actions,.form-links,.dashboard-links) { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem 1rem; margin-top:1.75rem; }
.pilates-site .dashboard-links { padding-block:1.5rem; border-top:1px solid var(--cw-rule); }
.pilates-site .dashboard-links a { display:inline-flex; align-items:center; padding:.55rem .75rem; border:1px solid var(--cw-rule); border-radius:.4rem; background:var(--cw-white); font-weight:600; text-decoration:none; }
.pilates-site .dashboard-links a:hover { background:var(--cw-sky); }
.pilates-site .management-access { max-width:580px; margin-block:2rem; padding:1.5rem; border:1px solid var(--cw-rule); border-radius:.5rem; background:var(--cw-sky); }
.pilates-site .management-access h2 { font-family:var(--font-display); font-optical-sizing:auto; font-weight:450; }
.pilates-site .management-access p { margin-top:.7rem; }
.pilates-site .management-access a { display:inline-flex; align-items:center; min-height:44px; margin-top:.7rem; font-weight:650; }
.pilates-site :is(.button,.text-button) { display:inline-flex; align-items:center; justify-content:center; max-width:100%; min-height:52px; padding:.8rem 1.3rem; border:1px solid var(--cw-ink); border-radius:.4rem; background:var(--cw-ink); color:var(--cw-white); font:600 .9375rem/1.4 var(--font-sans); text-align:center; text-decoration:none; cursor:pointer; }
.pilates-site :is(.button,.text-button):hover { background:#255950; color:var(--cw-white); }
.pilates-site .button.secondary, .pilates-site .text-button { background:transparent; color:var(--cw-ink); }
.pilates-site .button.secondary:hover, .pilates-site .text-button:hover { background:var(--cw-sky); color:var(--cw-ink); }
.pilates-site .form-links a { display:inline-flex; align-items:center; padding-block:.55rem; }

.pilates-site .stack { display:grid; align-content:start; gap:.65rem; min-width:0; margin-block:1.5rem; }
.pilates-site .stack > * { min-width:0; }
.pilates-site .stack > h2 { margin-top:1.7rem; padding-top:1.4rem; border-top:1px solid var(--cw-rule); }
.pilates-site .stack > h3 { margin-top:1rem; }
.pilates-site .stack > label:not(.check) { margin-top:.5rem; font-weight:650; }
.pilates-site .stack :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),textarea,select) { width:100%; min-width:0; min-height:48px; padding:.7rem .85rem; border:1px solid #8ca49c; border-radius:.4rem; background:var(--cw-white); color:var(--cw-ink); font:inherit; }
.pilates-site .stack textarea { min-height:7rem; resize:vertical; }
.pilates-site .stack :is(input,textarea,select):disabled { background:var(--cw-sky); color:var(--cw-muted); }
.pilates-site .stack :is(input,textarea,select):focus-visible { border-color:var(--cw-ink); }
.pilates-site .stack :is(input[type="checkbox"],input[type="radio"]) { width:1.2rem; height:1.2rem; margin:.15rem 0 0; flex:0 0 auto; accent-color:var(--cw-ink); }
.pilates-site .stack .check { display:flex; align-items:flex-start; gap:.75rem; width:fit-content; min-height:44px; padding-block:.55rem; font-weight:400; cursor:pointer; }
.pilates-site .stack fieldset { min-width:0; padding:1rem; border:1px solid var(--cw-rule); border-radius:.4rem; }
.pilates-site .stack legend { padding-inline:.35rem; font-weight:650; }
.pilates-site .stack :is(.button,.text-button) { width:fit-content; margin-top:.75rem; }
.pilates-site .stack p { color:var(--cw-muted); }
.pilates-site details > summary { display:list-item; min-height:44px; padding-block:.6rem; font-weight:650; cursor:pointer; }
.pilates-site details[open] > summary { margin-bottom:1rem; border-bottom:1px solid var(--cw-rule); }
.pilates-site details + details { margin-top:1rem; }

.pilates-site :is(.notice,.alert,.status) { max-width:920px; margin-block:1rem; padding:.85rem 1.1rem; border-left:4px solid var(--cw-ink); border-radius:.3rem; background:var(--cw-sky); }
.pilates-site .alert { border-left-color:#a43a2a; background:#fff0ed; color:#772718; }
.pilates-site .notice { border-left-color:#39736a; }
.pilates-site .status { border-left-color:var(--cw-accent); }
.pilates-site .pilates-video { display:block; width:100%; aspect-ratio:16/9; border:0; border-radius:.4rem; background:var(--cw-ink); }
.pilates-site .table-scroll { max-width:100%; overflow-x:auto; padding-bottom:.4rem; }
.pilates-site table { width:100%; min-width:31rem; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.pilates-site :is(th,td) { padding:.7rem .8rem; border-bottom:1px solid var(--cw-rule); text-align:left; white-space:nowrap; }
.pilates-site th { background:var(--cw-sky); font-size:.85rem; }
.pilates-site tbody tr:nth-child(even) { background:var(--cw-paper); }

.pilates-site .guide-search { max-width:40rem; margin-block:2rem; }
.pilates-site .guide-article { max-width:52rem; margin-inline:auto; }
.pilates-site .guide-intro { color:var(--cw-muted); font-size:1.12rem; }
.pilates-site .guide-section { margin-top:2.5rem; }
.pilates-site .guide-credit { margin-top:2rem; color:var(--cw-muted); font-size:.875rem; }
.pilates-site .editorial-reading { max-width:52rem; margin-block:2rem; }
.pilates-site .editorial-section + .editorial-section { margin-top:1.25rem; }
.pilates-site .editorial-section :is(p,li) { max-width:70ch; }
.pilates-site .editorial-section li + li { margin-top:.45rem; }
.pilates-site :is(.demo-perspectives,.demo-screens) a[aria-current="page"] { background:var(--cw-sky); border-width:2px; }
.pilates-site .demo-mobile-screens { display:none; }
.pilates-site .demo-preset-picker { margin-top:1.75rem; }
.pilates-site .demo-intro { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(16rem,.55fr); gap:clamp(1rem,3vw,2.5rem); align-items:end; padding-bottom:clamp(1.5rem,3vw,2.5rem); border-bottom:1px solid var(--cw-rule); }
.pilates-site .demo-intro .eyebrow { margin-bottom:.55rem; }
.pilates-site .demo-intro h1 { max-width:20ch; font-size:clamp(2.3rem,4vw,4rem); }
.pilates-site .demo-lead { max-width:36rem; margin-top:1rem; color:var(--cw-muted); font-size:clamp(1rem,1.6vw,1.2rem); line-height:1.55; }
.pilates-site .demo-disclosure { display:grid; gap:.3rem; padding:1rem 1.2rem; border-left:3px solid var(--cw-accent); background:var(--cw-sky); font-size:.84rem; line-height:1.4; }
.pilates-site .demo-disclosure strong { font-weight:650; }
.pilates-site .demo-disclosure span { color:var(--cw-muted); }
.pilates-site .demo-explore { margin-top:clamp(3rem,6vw,5rem); padding-top:1.5rem; border-top:1px solid var(--cw-rule); }
.pilates-site .demo-explore::before { content:"Explorar outras telas"; display:block; color:var(--cw-muted); font-size:.8rem; font-weight:650; letter-spacing:.12em; text-transform:uppercase; }
.pilates-site .demo-explore .demo-preset-picker { max-width:44rem; }
.pilates-site .demo-explore > form { margin-top:1.5rem; }
.pilates-site .demo-visual { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:.4rem; background:var(--cw-sky); }
.pilates-site .demo-feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1rem,2vw,1.5rem); margin-top:1.5rem; }
.pilates-site .demo-feature-card { display:grid; grid-template-rows:auto 1fr; overflow:hidden; padding:0; }
.pilates-site .demo-feature-card .demo-visual { border-radius:.5rem .5rem 0 0; }
.pilates-site .demo-feature-card-body { display:grid; align-content:start; gap:.7rem; padding:clamp(1.25rem,2vw,2rem); }
.pilates-site .demo-feature-card-body > * { margin:0; }
.pilates-site .demo-feature-card-body .button { justify-self:start; align-self:end; margin-top:.5rem; }
.pilates-site .demo-kicker { color:var(--cw-muted); font-size:.8rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.pilates-site .demo-flow { max-width:64rem; margin-top:2rem; }
.pilates-site .demo-flow ol { display:flex; flex-wrap:wrap; gap:.4rem 1.5rem; margin:0 0 2rem; padding:0; list-style:none; counter-reset:demo-step; }
.pilates-site .demo-flow li { display:flex; gap:.45rem; align-items:center; color:var(--cw-muted); font-size:.875rem; }
.pilates-site .demo-flow li::before { counter-increment:demo-step; content:counter(demo-step); display:grid; place-items:center; width:1.7rem; height:1.7rem; border:1px solid currentColor; border-radius:50%; font-weight:700; }
.pilates-site .demo-flow li[aria-current="step"] { color:var(--cw-ink); font-weight:700; }
.pilates-site .demo-flow li[aria-current="step"]::before { background:var(--cw-ink); color:var(--cw-white); }
.pilates-site .demo-choice-list { display:grid; gap:.75rem; margin-top:1.5rem; }
.pilates-site .demo-choice { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.2rem; border:1px solid var(--cw-rule); border-radius:.5rem; background:var(--cw-white); }
.pilates-site .demo-choice[aria-current="true"] { border:2px solid var(--cw-ink); background:var(--cw-sky); }
.pilates-site .demo-choice form { margin:0; }
.pilates-site .demo-snapshot { display:grid; grid-template-columns:minmax(0,1fr) minmax(14rem,.4fr); gap:1.5rem; align-items:start; margin-top:1.5rem; }
.pilates-site .demo-snapshot dl { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.6rem 1rem; margin:0; }
.pilates-site .demo-snapshot dt { color:var(--cw-muted); }
.pilates-site .demo-snapshot dd { margin:0; font-weight:650; text-align:right; }
.pilates-site .demo-progress { width:100%; height:.7rem; accent-color:var(--cw-ink); }
.pilates-site .demo-reading { max-width:48rem; font-size:1.05rem; line-height:1.8; }
.pilates-site .demo-reading p + p { margin-top:1.2rem; }
.pilates-site .demo-diagram { max-width:32rem; margin:2rem 0; }
.pilates-site .demo-diagram img { display:block; width:100%; height:auto; }
.pilates-site .demo-diagram figcaption { margin-top:.6rem; color:var(--cw-muted); font-size:.875rem; }
.pilates-site .demo-quiz { max-width:48rem; margin-top:2rem; }
.pilates-site .demo-quiz form { margin-top:.75rem; }
.pilates-site .demo-quiz .button { margin-top:.5rem; }
.pilates-site .demo-book { margin-top:2.5rem; background:var(--cw-sky); }
.pilates-site .demo-book p:last-child { color:var(--cw-muted); font-size:.875rem; }
.pilates-site .demo-legacy { max-width:60rem; margin-top:2.5rem; padding-top:1rem; border-top:1px solid var(--cw-rule); }
.pilates-site .demo-legacy summary { color:var(--cw-muted); }

@media (max-width:900px) {
  .pilates-site :is(.demo-intro,.demo-snapshot) { grid-template-columns:minmax(0,1fr); }
  .pilates-site .header-row { align-items:flex-start; flex-direction:column; }
  .pilates-site .site-header nav { justify-content:flex-start; }
  .pilates-site .hero { grid-template-columns:minmax(0,1fr); }
  .pilates-site .hero-card { min-height:0; }
}
@media (max-width:600px) {
  .pilates-site .demo-intro { gap:1.25rem; }
  .pilates-site .demo-disclosure { padding:.7rem .9rem; }
  .pilates-site .demo-feature-grid { grid-template-columns:minmax(0,1fr); }
  .pilates-site .demo-feature-card-body .button, .pilates-site .demo-choice .button { width:100%; }
  .pilates-site .demo-choice { display:grid; }
  .pilates-site .demo-snapshot dl { grid-template-columns:minmax(0,1fr); }
  .pilates-site .demo-snapshot dd { text-align:left; }
  .pilates-site .demo-flow > ol[aria-label="Etapas da contratação"] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; }
  .pilates-site .demo-flow > ol[aria-label="Etapas da contratação"] li { display:grid; justify-items:center; align-content:start; gap:.25rem; font-size:.75rem; line-height:1.25; text-align:center; }
  .pilates-site .site-header nav.desktop-navigation:not(.demo-navigation) { display:none; }
  .pilates-site .mobile-navigation { display:block; }
  .pilates-site .mobile-navigation nav { margin-top:.5rem; }
  .pilates-site .demo-mobile-screens { display:block; margin-top:1.75rem; }
  .pilates-site .demo-mobile-screens > summary { padding:.55rem .85rem; border:1px solid var(--cw-ink); border-radius:.4rem; font-weight:650; }
  .pilates-site .site-header nav { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr)); width:100%; }
  .pilates-site .site-header nav :is(a,form,.nav-button) { width:100%; }
  .pilates-site .site-header nav :is(a,.nav-button) { justify-content:flex-start; padding-inline:.65rem; }
  .pilates-site .hero { padding-block:1rem 3rem; }
  .pilates-site h1 { font-size:clamp(1.5rem,10vw,3rem); }
  .pilates-site .hero h1 { font-size:clamp(1.5rem,11vw,4rem); }
  .pilates-site .hero-card { border-radius:3rem .5rem .5rem .5rem; }
  .pilates-site .section { padding-block:1rem 3rem; }
  .pilates-site .form-page { margin-top:1rem; }
  .pilates-site .actions .button, .pilates-site .stack :is(.button,.text-button) { width:100%; }
  .pilates-site :is(.demo-perspectives,.demo-screens) { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr)); gap:.5rem; }
  .pilates-site nav.demo-desktop-screens { display:none; }
  .pilates-site :is(.demo-perspectives,.demo-screens) .button { min-height:44px; padding:.6rem .7rem; font-size:.875rem; }
}
@media (prefers-reduced-motion:reduce) {
  .pilates-site *, .pilates-site *::before, .pilates-site *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
