/* FitPro: identidad independiente, pastel y editorial. Sin fuentes externas. */
:root{--paper:#f7f6f0;--ink:#283d36;--muted:#58675f;--sage:#dce8d5;--lavender:#e7e1f0;--peach:#f4ded1;--line:#ced5ca;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
img,svg{max-width:100%;display:block}
h1,h2,h3,p{margin-top:0}
h1,h2{font-weight:400;letter-spacing:-.065em;line-height:1.04}
h1{font-size:clamp(3.5rem,6.7vw,6.9rem);margin-bottom:28px}
h2{font-size:clamp(2.6rem,4.4vw,4.4rem);margin-bottom:22px}
h3{font-size:1.25rem;letter-spacing:-.025em;line-height:1.35;font-weight:500}
em{font-family:Georgia,"Times New Roman",serif;font-weight:400}
p{color:var(--muted)}
:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.container,.nav-container{width:min(1160px,calc(100% - 64px));margin-inline:auto}
.skip-link{position:fixed;top:-100px;left:16px;padding:12px 20px;z-index:100;background:var(--ink);color:white;border-radius:12px}
.skip-link:focus{top:12px}
.navbar{position:sticky;top:0;z-index:20;background:#f7f6f0f2;border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}
.nav-container{display:flex;gap:30px;align-items:center;justify-content:space-between;min-height:94px}
.nav-logo{display:flex;gap:9px;align-items:center;font-size:1.75rem;font-weight:600;letter-spacing:-.08em}
.logo-icon{display:grid;place-items:center;background:var(--sage);width:40px;height:40px;border-radius:50%;font-family:Georgia,serif;font-style:italic;font-size:1.6rem}
.logo-dot{align-self:flex-start;font-size:.65rem;margin:7px 0 0 -4px}
.nav-links{display:flex;gap:26px;padding:0;margin:0;list-style:none;font-size:.86rem}
.nav-links a{position:relative;display:block;padding:10px 0}
.nav-links a::after{content:"";position:absolute;bottom:5px;left:0;right:0;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.nav-links a:hover::after,.nav-links a:focus-visible::after{transform:scaleX(1)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:14px 24px;border:1px solid var(--ink);border-radius:100px;font-size:.9rem;line-height:1.4;font-weight:500;transition:background .25s,box-shadow .25s,transform .4s var(--ease)}
.btn-primary{background:var(--ink);color:var(--paper)}
.btn-primary:hover{background:#3b574b;box-shadow:0 6px 18px #283d3618;transform:translateY(-3px)}
.btn-outline{background:transparent;border-color:var(--line)}
.btn-outline:hover{background:var(--sage);transform:translateY(-3px)}
.btn span{transition:transform .4s var(--ease)}
.btn:hover span{transform:translate(3px,-2px)}
.btn-lg{padding:17px 26px}
.btn-block{width:100%}
.demo-bar{display:flex;justify-content:space-between;gap:20px;padding-block:22px;font-size:.7rem;color:var(--muted)}
.demo-bar .legal-links{font-size:inherit;gap:10px}
.hero{width:min(1160px,calc(100% - 64px));margin:32px auto 64px;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:64px}
.hero-badge,.section-kicker{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;margin-bottom:26px}
.hero-badge{display:flex;align-items:center;gap:10px}
.hero-badge span{width:7px;height:7px;border-radius:50%;background:#5d7d66}
.hero-tagline{max-width:450px;font-size:1.05rem;line-height:1.8}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero-note{font-size:.77rem;margin:24px 0 0}
.hero-art{position:relative;padding:0 0 28px 12px;perspective:1000px}
.art-canvas{position:relative;background:var(--sage);border-radius:220px 220px 28px 28px;padding:56px 22px 25px;transform:rotate(2deg);transition:transform .7s var(--ease);overflow:hidden}
.art-label{display:block;text-align:center;font-size:.6rem;letter-spacing:.22em;position:relative;z-index:1}
.movement-drawing{width:100%;margin-top:-12px}
.art-disc{fill:#f5efdc}
.art-orbit{stroke:#87a190;stroke-width:1.2}
/* Silueta simple y barra con discos; el movimiento vive en el SVG. */
.lifter-limb{stroke:var(--ink);stroke-width:12;fill:none}
.lifter-head{stroke:var(--ink);stroke-width:7;fill:var(--paper)}
.lifter-body{stroke:var(--ink);stroke-width:7;fill:var(--lavender)}
.bar-shaft{stroke:var(--ink);stroke-width:7}
.bar-plate{fill:var(--ink)}
.bar-plate-small{fill:#718b76}
.lifter-grip{stroke:var(--paper);stroke-width:7}
.movement-toggle{display:block;margin:18px 0 0 auto;padding:8px 12px;border:1px solid var(--line);border-radius:30px;background:var(--paper);color:var(--ink);font-size:.7rem;min-height:36px;position:relative;z-index:2}
.movement-toggle[hidden]{display:none}
.movement-toggle:hover{background:var(--sage)}
.art-spark{stroke:#667a63;stroke-width:2;stroke-linecap:round}
.art-caption{display:flex;justify-content:space-between;gap:12px;font-size:.6rem;letter-spacing:.06em}
.art-caption span:last-child{font:italic 1.05rem Georgia,serif;letter-spacing:-.03em}
.art-pill{position:absolute;bottom:10px;left:-25px;background:var(--lavender);border:4px solid var(--paper);border-radius:22px;padding:18px 26px;display:flex;gap:16px;align-items:center;line-height:1.45;font-size:.85rem;transform:rotate(-5deg)}
.art-pill>span{font-size:2.4rem}
.movement-strip{display:flex;justify-content:space-between;align-items:center;gap:20px;border-block:1px solid var(--line);padding-block:26px;font-size:.8rem;letter-spacing:.02em}
.movement-strip>span:nth-child(even){font-size:1.5rem;color:#718b76}
.section{padding:100px 0}
.section-title,.section-subtitle,.section-kicker{text-align:center}
.section-subtitle{max-width:590px;margin:0 auto 48px}
.section-kicker{margin-bottom:20px}
.section-dark{background:#eeeee7}
.servicios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.servicio-card{position:relative;padding:32px;min-height:265px;border:1px solid var(--line);border-radius:22px;transition:transform .55s var(--ease),background .4s,border-color .4s}
.servicio-card:nth-child(3n+1){background:#e5ecdf}
.servicio-card:nth-child(3n+2){background:#ede8f2}
.servicio-card:nth-child(3n){background:#f4e6dd}
.servicio-icon{font-size:.73rem;letter-spacing:.08em;margin-bottom:38px}
.servicio-card p{font-size:.88rem;margin-bottom:0}
.servicio-card:hover{transform:translateY(-7px);border-color:#9daa9c}
.guias-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:940px;margin-inline:auto}
.guia-card{position:relative;background:var(--paper);padding:42px;border-radius:26px;border:1px solid var(--line)}
.guia-privada{background:var(--lavender);border-color:#d6cde1}
.guia-badge{position:absolute;right:28px;top:28px;border:1px solid #aab7a4;border-radius:50px;padding:5px 12px;font-size:.65rem;letter-spacing:.08em}
.guia-icon{font:italic 4rem Georgia,serif;line-height:1.2;letter-spacing:-.08em;margin-bottom:24px}
.guia-card h3{font-size:1.6rem;max-width:250px}
.guia-card p,.guia-features{font-size:.88rem}
.guia-features{padding:0;list-style:none;margin:28px 0}
.guia-features li{padding-block:8px;border-bottom:1px solid #283d3614}
.demo-notice{background:#ffffff45;border:1px solid #283d3628;border-radius:12px;padding:12px;font-size:.73rem!important;text-align:left;line-height:1.6}
.asesoria-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
.asesoria-info{padding-top:30px}
.asesoria-info>h3{font:400 2rem Georgia,serif}
.asesoria-list{list-style:none;margin:32px 0 0;padding:0}
.asesoria-list li{display:flex;gap:18px;margin-bottom:24px}
.asesoria-check{flex-shrink:0;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--sage)}
.asesoria-list strong{font-weight:500}
.asesoria-list p{font-size:.86rem;margin:5px 0 0}
.asesoria-form-wrapper{background:#e8ece3;border-radius:26px;padding:34px}
.asesoria-form-wrapper>.demo-notice{margin-top:0}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-group{margin-bottom:18px;min-width:0}
.form-group label{display:block;font-size:.76rem;font-weight:500;margin-bottom:8px}
.form-group :is(input,textarea,select){width:100%;min-width:0;padding:14px 16px;background:#ffffff9c;color:var(--ink);border:1px solid #b9c5b5;border-radius:12px;font-size:.87rem;transition:border-color .25s,box-shadow .25s}
.form-group textarea{resize:vertical;min-height:100px}
.form-group :is(input,textarea,select):focus{border-color:#5d7d66;box-shadow:0 0 0 3px #5d7d6618;outline:none}
.form-feedback{font-size:.82rem;margin:16px 0 0;padding:12px;background:#ffffff80;border-radius:10px;color:var(--ink)}
#clientes{padding-top:24px}
.clientes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.testimonio-card{padding:28px;border-top:1px solid var(--line)}
.testimonio-stars{font-size:.75rem;letter-spacing:.2em;color:#536e5c;margin-bottom:20px}
.testimonio-texto{font:italic 1.13rem/1.65 Georgia,serif;color:var(--ink)}
.testimonio-autor{display:flex;gap:12px;align-items:center;margin-top:24px}
.placeholder-avatar{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;background:var(--sage);border-radius:50%;font-size:.6rem;color:var(--muted)}
.testimonio-autor strong{display:block;font-size:.8rem;font-weight:500}
.testimonio-autor>div>span{display:block;font-size:.68rem;color:var(--muted)}
.contacto-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:50px}
.contacto-info h3{font-size:1rem;margin-top:30px}
.contacto-info h3:first-child{margin-top:0}
.contacto-info p,.horarios-list{font-size:.88rem}
.contacto-info a{text-decoration:underline;text-underline-offset:4px}
.horarios-list{list-style:none;padding:0;max-width:330px}
.horarios-list li{display:flex;justify-content:space-between;gap:16px;padding-block:8px;border-bottom:1px solid var(--line)}
.contacto-mapa{display:flex;min-height:360px}
.placeholder-grande{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--peach);border-radius:160px 160px 24px 24px;text-align:center;padding:30px}
.map-pin{font-size:4rem;font-weight:200;line-height:1}
.placeholder-grande small{font-size:.7rem;color:var(--muted)}
.footer{padding:32px 0;background:var(--paper)}
.footer>.container{display:flex;align-items:center;justify-content:space-between;gap:24px}
.footer p{font-size:.73rem;margin:0}
.footer .legal-links{font-size:.72rem;gap:16px}
/* Entradas escalonadas: el contenido permanece visible sin JS. */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .85s var(--ease),transform .85s var(--ease);transition-delay:var(--reveal-delay,0ms)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.hero.is-ready .hero-content{animation:hero-enter 1s var(--ease) both}
.hero.is-ready .hero-art{animation:art-enter 1.2s var(--ease) .15s both}
@keyframes hero-enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes art-enter{from{opacity:0;transform:translateY(40px) rotate(4deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@media(hover:hover) and (pointer:fine){.hero-art:hover .art-canvas{transform:rotate(-1deg) translateY(-5px)}}
@media(min-width:1600px){.hero{margin-block:56px 90px}}
@media(max-width:1000px){.nav-links{gap:18px}.nav-cta{display:none}.hero{gap:35px}.hero-actions{flex-direction:column;align-items:flex-start}.servicio-card{padding:25px}.asesoria-grid{gap:32px}.guia-card{padding:30px}}
@media(max-width:760px){html{scroll-padding-top:135px}.container,.nav-container,.hero{width:calc(100% - 40px)}.nav-container{flex-wrap:wrap;gap:0;justify-content:center;padding:14px 0;min-height:0}.nav-logo{font-size:1.45rem}.logo-icon{width:32px;height:32px;font-size:1.3rem}.nav-links{width:100%;justify-content:center;gap:20px;font-size:.72rem;margin-top:6px}.nav-links a{padding:9px 0}.demo-bar{flex-direction:column;gap:5px;padding-block:18px}.hero{grid-template-columns:1fr;gap:40px;margin:28px auto 40px}.hero-content{max-width:550px}h1{font-size:clamp(3.45rem,12vw,5.6rem)}.hero-tagline{max-width:450px}.hero-actions{flex-direction:row}.hero-art{width:min(410px,90%);justify-self:center}.art-pill{left:-15px}.movement-strip{font-size:.69rem;gap:14px;flex-wrap:wrap;justify-content:center}.movement-strip>span:nth-child(even){font-size:1rem}.section{padding:72px 0}.servicios-grid{grid-template-columns:1fr 1fr}.servicio-card{min-height:250px}.guias-grid,.asesoria-grid,.contacto-grid{grid-template-columns:1fr}.guia-card h3{max-width:none}.asesoria-info{padding-top:0}.clientes-grid{grid-template-columns:1fr 1fr}.contacto-grid{gap:30px}.contacto-mapa{min-height:320px}.footer>.container{flex-direction:column;align-items:flex-start;gap:14px}}
@media(max-width:440px){.nav-links{gap:14px;font-size:.68rem}.servicios-grid,.clientes-grid,.form-row{grid-template-columns:1fr}.servicio-card{min-height:0;padding:26px}.servicio-icon{margin-bottom:22px}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{padding:16px 20px}.hero-art{width:92%}.art-label{font-size:.52rem}.art-pill{font-size:.72rem;padding:14px 20px}.art-caption{font-size:.5rem}.art-caption span:last-child{font-size:.9rem}.asesoria-form-wrapper{padding:24px}.guia-card{padding:28px}.section-subtitle{font-size:.92rem}.testimonio-card{padding:24px 8px}.movement-strip{gap:10px}.movement-strip>span:last-child{width:100%;text-align:center}.movement-strip>span:nth-child(4){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.hero-art:hover .art-canvas{transform:rotate(2deg)}}
